HotSort is a high-performance GPU-accelerated integer sorting library that has been implemented in CUDA, OpenCL, and now Vulkan.

This sorting library was used in the Spinel graphics engine until 2022 when it was replaced with the even higher performance RadixSort library.

HotSort’s advantages include:

  • Ultra-fast sorting of 32‑bit or 64‑bit keys
  • Reaches peak throughput on small arrays
  • In-place sorting for low-memory environments
  • Strong scaling with number of multiprocessors
  • Low memory transactions relative to array size
  • A concurrency-friendly dense kernel grid
  • Support for GPU post-processing of sorted results
  • Although HotSort is a comparison sort, it’s typically significantly faster than other GPU-accelerated algorithms when sorting arrays smaller than ~500K keyvals.

The Vulkan implementation of HotSort is open source and available here in Google’s Fuchsia project repo.