Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Parallelization of random number generators and long-range correlations
Numerische Mathematik
Random number generators: good ones are hard to find
Communications of the ACM
A search for good multiple recursive random number generators
ACM Transactions on Modeling and Computer Simulation (TOMACS)
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator
ACM Transactions on Modeling and Computer Simulation (TOMACS) - Special issue on uniform random number generation
Don't trust parallel Monte Carlo!
PADS '98 Proceedings of the twelfth workshop on Parallel and distributed simulation
Good random number generators are (not so) easy to find
Selected papers from the 2nd IMACS symposium on Mathematical modelling---2nd MATHMOD
Algorithm 806: SPRNG: a scalable library for pseudorandom number generation
ACM Transactions on Mathematical Software (TOMS)
Empirical evidence concerning AES
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Improved long-period generators based on linear recurrences modulo 2
ACM Transactions on Mathematical Software (TOMS)
TestU01: A C library for empirical testing of random number generators
ACM Transactions on Mathematical Software (TOMS)
Common defects in initialization of pseudorandom number generators
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Parallel white noise generation on a GPU via cryptographic hash
Proceedings of the 2008 symposium on Interactive 3D graphics and games
New AES Software Speed Records
INDOCRYPT '08 Proceedings of the 9th International Conference on Cryptology in India: Progress in Cryptology
Millisecond-scale molecular dynamics simulations on Anton
Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis
GPU random numbers via the tiny encryption algorithm
Proceedings of the Conference on High Performance Graphics
SP 800-38A 2001 edition. Recommendation for Block Cipher Modes of Operation: Methods and Techniques
SP 800-38A 2001 edition. Recommendation for Block Cipher Modes of Operation: Methods and Techniques
Deterministic parallel random-number generation for dynamic-multithreading platforms
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
A fair comparison of modern CPUs and GPUs running the genetic algorithm under the knapsack benchmark
EvoApplications'12 Proceedings of the 2012t European conference on Applications of Evolutionary Computation
Real-time kd-tree based importance sampling of environment maps
Proceedings of the 28th Spring Conference on Computer Graphics
Splittable pseudorandom number generators using cryptographic hashing
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Hi-index | 0.00 |
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 multi-core 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 264 unique parallel streams of random numbers, each with period 2128 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.