Open Saransh-cpp opened 3 months ago
Probably just the fill
operation should be on the GPU. That's partly motivated by speed of filling, and partly by the fact that the data to fill the histogram is already there.
All of the UHI operations, like slicing and projecting, should probably be left to the CPU (i.e. make it an ordinary hist object). If a big dataset has already been reduced to a histogram, copying that small object off the GPU won't be a big transfer, and anyway, UHI operations are often interleaved with plotting, which happens on the CPU, too.
This still leaves plenty of work to do in CUDA, since there are multiple ways to fill a histogram, each appropriate for different sizes and shapes of histograms. Just filling is an interesting problem space.
Thanks for the details!