TL;DR
This paper presents a SIMD-optimized pseudo-random number generator based on Mersenne Twister 19937, achieving faster performance while maintaining statistical quality by leveraging parallel vectorization techniques.
Contribution
The authors develop a SIMD-friendly variant of MT19937 that combines multiple streams with jump-ahead transformations for efficient parallel random number generation.
Findings
Achieves linear scaling of throughput with SIMD register width.
Maintains the statistical properties and period of MT19937.
Provides significant speed improvements on modern CPUs with larger SIMD registers.
Abstract
Many simulation applications require the generation of long sequences of pseudo-random numbers. Linear recurrences modulo 2 are commonly used as the fundamental building block for constructing pseudo-random number generators with extended periods and excellent statistical properties. These generators consist of a lengthy binary state vector that evolves iteratively through linear transformations. One widely accepted pseudo-random generator in this category is the Mersenne twister 19937 (MT19937), proposed by Matsumoto and Nishimura, which has been implemented in numerous software libraries and numerical packages. The MT19937's popularity stems from its favorable distribution properties and the simplicity and speed of its algorithm. The linear transformation responsible for evolving the binary state vector can be expressed as a concise set of elementary bit manipulations. However, this…
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
TopicsChaos-based Image/Signal Encryption · Algorithms and Data Compression · Parallel Computing and Optimization Techniques
