 
     // Computes which partition each row belongs to by hashing the row and performing
     // a partitioning operator on the hash value. Also computes the number of
-    // rows in each partition
+    // rows in each partition both for each thread block as well as across all blocks
     compute_row_partition_numbers<hash_function>
     <<<grid_size, BLOCK_SIZE, num_partitions * sizeof(size_type)>>>(table_to_hash, 
                                                                     num_rows,


  // Compute the hash value for each row, store it to the array of hash values
  // and compute the partition to which the hash value belongs and increment
  // the counter for that partition
  while( row_number < num_rows)
  {
    // See here why template disambiguator is required: 


    // Computes which partition each row belongs to by hashing the row and performing
    // a partitioning operator on the hash value. Also computes the number of
    // rows in each partition both for each thread block as well as across all blocks
    compute_row_partition_numbers<hash_function>
    <<<grid_size, BLOCK_SIZE, num_partitions * sizeof(size_type)>>>(table_to_hash, 
                                                                    num_rows,
