Onesweep: A Faster Least Significant Digit Radix Sort for GPUs
Andy Adinets, Duane Merrill

TL;DR
Onesweep introduces a more efficient GPU radix sort algorithm that reduces memory traffic and improves sorting speed for large datasets, outperforming existing methods like CUB and HRS.
Contribution
The paper presents a novel single-pass prefix sum method for LSD radix sort on GPUs, significantly reducing memory operations and increasing speed.
Findings
Achieves 29.4 GKey/s on 256M keys with NVIDIA A100.
Provides 1.5x speedup over CUB.
Offers more consistent performance across varied data distributions.
Abstract
We present Onesweep, a least-significant digit (LSD) radix sorting algorithm for large GPU sorting problems residing in global memory. Our parallel algorithm employs a method of single-pass prefix sum that only requires ~2n global read/write operations for each digit-binning iteration. This exhibits a significant reduction in last-level memory traffic versus contemporary GPU radix sorting implementations, where each iteration of digit binning requires two passes through the dataset totaling ~3n global memory operations. On the NVIDIA A100 GPU, our approach achieves 29.4 GKey/s when sorting 256M random 32-bit keys. Compared to CUB, the current state-of-the-art GPU LSD radix sort, our approach provides a speedup of ~1.5x. For 32-bit keys with varied distributions, our approach provides more consistent performance compared to HRS, the current state-of-the-art GPU MSD radix sort, and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Network Packet Processing and Optimization · Advanced Image and Video Retrieval Techniques
