Search papers, labs, and topics across Lattice.
This paper addresses the challenges of implementing a fast integer division algorithm on general-purpose GPUs, utilizing a Newton iteration based on the shifted inverse operation while maintaining all arithmetic in the integer domain. The authors introduce an efficient GPU/CUDA implementation that supports integer precisions from $2^{15}$ to $2^{18}$, which are not accommodated by existing division methods like \cgbn{}. Their evaluation demonstrates that the proposed algorithm achieves near-optimal performance relative to a defined cost model, showcasing significant improvements in speed for multi-precision integer division tasks.
Achieving near-optimal performance for multi-precision integer division on GPUs could revolutionize computational efficiency in high-performance applications.
This paper presents the issues arising in implementing a fast integer division algorithm on general purpose GPUs. The algorithm uses a Newton iteration based on the shifted inverse operation, keeping all arithmetic in the integer domain and relying on data-parallel operators. The principal contribution is an efficient GPU/CUDA implementation for integer precisions from $2^{15}$ to $2^{18}$ -- sizes not supported by \cgbn{} division. We propose algorithmic refinements, define a cost model in terms of multiplications, build on prefix sums and previous work on multi-precision multiplication, and present an evaluation showing near-optimal performance relative to the model for the target precision.