Parallel random variates generator for GPUs based on normal numbers
Gleb Beliakov, Michael Johnstone, Doug Creighton, Tim Wilkin

TL;DR
This paper presents a GPU-based parallel pseudorandom number generator leveraging the normal number α_{2,3}, achieving faster performance than existing methods by optimizing modular reduction and memory operations.
Contribution
The paper introduces a GPU implementation of a linear congruential generator based on the normal number α_{2,3}, with improved modular reduction techniques for enhanced speed.
Findings
Faster generation rate than existing methods
Most operations performed in 64-bit integer arithmetic
Generation rate close to GPU global memory write limit
Abstract
Pseudorandom number generators are required for many computational tasks, such as stochastic modelling and simulation. This paper investigates the serial CPU and parallel GPU implementation of a Linear Congruential Generator based on the binary representation of the normal number . We adapted two methods of modular reduction which allowed us to perform most operations in 64-bit integer arithmetic, improving on the original implementation based on 106-bit double-double operations. We found that our implementation is faster than existing methods in literature, and our generation rate is close to the limiting rate imposed by the efficiency of writing to a GPU's global memory.
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsChaos-based Image/Signal Encryption · Numerical Methods and Algorithms · Cryptography and Residue Arithmetic
