Parallel Random Numbers: As Easy as 1, 2, 3

John K. Salmon, Mark A. Moraes, Ron O. Dror, and David E. Shaw
D. E. Shaw Research, New York, NY 10036, USA
Conference for High Performance Computing, Networking, Storage and Analysis (SC11), 2011


   title={Parallel Random Numbers: As Easy as 1, 2, 3},

   author={Salmon, J.K. and Moraes, M.A. and Dror, R.O. and Shaw, D.E.},



Download Download (PDF)   View View   Source Source   Source codes Source codes




Most pseudorandom number generators (PRNGs) scale poorly to massively parallel high-performance computation because they are designed as sequentially dependent state transformations. We demonstrate that independent, keyed transformations of counters produce a large alternative class of PRNGs with excellent statistical properties (long period, no discernable structure or correlation). These counter-based PRNGs are ideally suited to modern multicore CPUs, GPUs, clusters, and special-purpose hardware because they vectorize and parallelize well, and require little or no memory for state. We introduce several counter-based PRNGs: some based on cryptographic standards (AES, Threefish) and some completely new (Philox). All our PRNGs pass rigorous statistical tests (including TestU01’s BigCrush) and produce at least 2^64 unique parallel streams of random numbers, each with period 2^128 or more. In addition to essentially unlimited parallel scalability, our PRNGs offer excellent single-chip performance: Philox is faster than the CURAND library on a single NVIDIA GPU.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: