A fast high quality pseudo random number generator for graphics processing units

@article{Langdon2008AFH,
  title={A fast high quality pseudo random number generator for graphics processing units},
  author={William B. Langdon},
  journal={2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence)},
  year={2008},
  pages={459-465}
}
  • W. Langdon
  • Published 1 June 2008
  • Computer Science
  • 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence)
Limited numerical precision of nVidia GeForce 8800 GTX and other GPUs requires careful implementation of PRNGs. The Park-Miller PRNG is programmed using G80's native Value4f floating point in RapidMind C++. Speed up is more than 40. Code is available via ftp cs.ucl.ac.uk genetic/gp- code/random-numbers/gpu_park-miller.tar.gz. 
A fast high quality pseudo random number generator for nVidia CUDA
TLDR
Newer nVidia G80 and Tesla hardware support double precision, which allows a much simpler C++ implementation of Park-Miller random numbers, which provides a four fold speed up compared to an earlier GPU implementation. Expand
Accelerating Pseudo‐Random Number Generator for MCNP on GPU
TLDR
This paper implements a PRNG for Monte Carlo N‐Particle Transport Code (MCNP) on NVIDIA's GTX200 Graphics Processor Units (GPU) using CUDA programming model and shows that 3.80 to 8.10 times speedup are achieved compared with 4 to 6 cores CPUs and more than 679.18 million double precision random numbers can be generated per second on GPU. Expand
Reliable Initialization of GPU-enabled Parallel Stochastic Simulations Using Mersenne Twister for Graphics Processors
TLDR
This work provides empirically checked statuses designed to initialize a particular configuration of this generator, in order to prevent any potential bias introduced by the parallelization of the PRNG. Expand
GPU optimized Pseudo Random Number Generator for MCNP
TLDR
An effective implementation of the 48bit PRNG algorithm proposed in MPI version of MCNP on GPU is presented and experimental results show that the performance speedup of one NVIDIA M2050 GPU with full double precision floating operations is up to 11-fold factor compared with the parallel implementation on one multi-core Intel Xeon X5670. Expand
Speedups between ×70 and ×120 for a Generic Local Search (Memetic) Algorithm on a Single GPGPU Chip
TLDR
This paper presents the first implementation of a generic memetic algorithm on one of the two GPU chips of a GTX295 gaming card, and observed speedups range between ×70 and ×120, mainly depending on the population size. Expand
GASPRNG: GPU accelerated scalable parallel random number generator library
TLDR
The GPU Accelerated SPRNG library (GASPRNG) is presented to accelerate SPRNG in GPU-based high performance computing systems to allow a computational science application to employ multiple copies of random number generators to boost performance. Expand
Generating High Quality Random Numbers: A High Throughput Parallel Bitsliced Approach.
TLDR
The proposed implementation successfully passes the NIST test for statistical randomness and bit-wise correlation criteria, and outperforms the current best implementations in the literature for computer-based PRNG and the optical solutions in terms of performance and performance per cost, while maintaining an acceptable measure of randomness. Expand
Pseudo-random streams for distributed and parallel stochastic simulations on GP-GPU
TLDR
Criteria guiding the design of good GPU-enabled Pseudo-Random Number Generators (PRNGs) is proposed, with a study of the techniques aiming to parallelize random streams correctly, in the context ofGPU-enabled stochastic simulations. Expand
Generic Local Search (Memetic) Algorithm on a Single GPGPU Chip
TLDR
This chapter presents the first implementation of a generic parallel MA on a general-purpose graphics processing unit card, an upgrade of the EASEA platform provides an automatic generation and parallelization of an MA for both novice and experienced users. Expand
BSRNG: A High Throughput Parallel BitSliced Approach for Random Number Generators
TLDR
This work proposes a high throughput method for generating high-quality Pseudo-Random Numbers using the bitslicing technique, which successfully passes the NIST test for statistical randomness and bit-wise correlation criteria, and compares it with some of the most significant PRNGs that display a satisfactory performance throughput and randomness criteria. Expand
...
1
2
3
4
...

References

SHOWING 1-10 OF 13 REFERENCES
Parallel Genetic Algorithms on Programmable Graphics Hardware
TLDR
This paper describes how fine-grained parallel genetic algorithms can be mapped to programmable graphics hardware found in commodity PC and demonstrates the effectiveness of the approach by comparing it with compatible software implementation. Expand
A Collection of Selected Pseudorandom Number Generators With Linear Structures
TLDR
This is a collection of selected linear pseudorandom number that were implemented in commercial software, used in applications, and some of which have extensively been tested, to study the applicability of linear congruential generators on parallel architectures. Expand
The Art in Computer Programming
TLDR
Here the authors haven’t even started the project yet, and already they’re forced to answer many questions: what will this thing be named, what directory will it be in, what type of module is it, how should it be compiled, and so on. Expand
Numerical recipes in C
TLDR
The Diskette v 2.06, 3.5''[1.44M] for IBM PC, PS/2 and compatibles [DOS] Reference Record created on 2004-09-07, modified on 2016-08-08. Expand
Random number generators: good ones are hard to find
Practical and theoretical issues are presented concerning the design, implementation, and use of a good, minimal standard random number generator that will port to virtually all systems.
Why current GPU is no good for high-quality random numbers generation
  • Why current GPU is no good for high-quality random numbers generation
  • 2007
Why current GPU is no good for high-quality random numbers generation?” http://www.cs.cuhk.edu.hk/ ̃ttwong/software/ecgpu/ ecgpu.html, epgpu version 0.99
  • 2007
A brief on parallel random number generators
  • National Energy Research Scientific Computing Center
  • 2005
Random numbers in fragment programs
  • Random numbers in fragment programs
  • 2005
Random numbers in fragment programs Parallel genetic algorithms on programmable graphics hardware
  • Numerical Recipes in C
  • 1998
...
1
2
...