HotSort 2.0 on CUDA

- 1 min read

I had some major spilling issues with CUDA 7.0 and my HotSort sorting library due to some NVCC bugs.

CUDA 7.5 didn’t resolve the spills and I couldn’t wait any longer… it was unfortunately time for a heavy rewrite.

Some of the work was done months ago but it took the last few weeks to get the higher-level kernels completed.

I also managed to generalize the implementation so it can run on architectures that aren’t as programmer-friendly as CUDA multiprocessors.

The generalized version now compiles cleanly on 7.x and the performance seems to match the original algorithm.

Here’s a snapshot showing unsigned 64-bit key throughput:

Next up will be HotSort 2.0 running on the Intel Gen architecture.