   constexpr int rows_per_block = HASH_KERNEL_BLOCK_SIZE * HASH_KERNEL_ROWS_PER_THREAD;
   const int grid_size = (num_rows + rows_per_block - 1) / rows_per_block;
 
+
+
   // 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

                                          row_partition_numbers,
                                          partition_sizes);

  CUDA_CHECK_LAST();

  // Compute exclusive scan of the partition sizes in-place to determine 
  // the starting point for each partition in the output
  size_type * scanned_partition_sizes{partition_sizes};
  thrust::exclusive_scan(partition_sizes, 
                         partition_sizes + num_partitions, 
                         scanned_partition_sizes);
  CUDA_CHECK_LAST();


  gdf_error gdf_status{GDF_SUCCESS};

  thrust::scatter(thrust::cuda::par,
                  input_column,
                  input_column + num_rows,
                  row_output_locations,
                  output_column);
