High-Performance Pseudo-Random Number Generation on Graphics Processing Units

Preprint English OPEN
Nandapalan, Nimalan ; Brent, Richard P. ; Murray, Lawrence M. ; Rendell, Alistair (2011)
  • Subject: Computer Science - Distributed, Parallel, and Cluster Computing | Statistics - Computation | I.6.8 | 11K45 (Primary) 65C10, 65Y05, 65Y10 (Secondary) | D.1.3 | G.4 | Mathematics - Number Theory | G.3

This work considers the deployment of pseudo-random number generators (PRNGs) on graphics processing units (GPUs), developing an approach based on the xorgens generator to rapidly produce pseudo-random numbers of high statistical quality. The chosen algorithm has configurable state size and period, making it ideal for tuning to the GPU architecture. We present a comparison of both speed and statistical quality with other common parallel, GPU-based PRNGs, demonstrating favourable performance of the xorgens-based approach.
  • References (17)
    17 references, page 1 of 2

    [1] C. Andrieu, A. Doucet, and R. Holenstein. Particle Markov chain Monte Carlo methods. Journal of the Royal Statistical Society Series B, 72:269- 302, 2010.

    [2] R. P. Brent. Some long-period random number generators using shifts and xors. ANZIAM Journal, 48, 2007.

    [3] R. P. Brent. xorgens version 3.05, 2008. http://maths.anu.edu.au/ ˜brent/random.html.

    [4] A. Doucet, N. de Freitas, and N. Gordon, editors. Sequential Monte Carlo Methods in Practice. Springer, 2001.

    [5] W. Gilks, S. Richardson, and D. Spiegelhalter, editors. Markov chain Monte Carlo in practice. Chapman and Hall, 1995.

    [6] J. Hoberock and N. Bell. Thrust: A parallel template library, 2010. URL http://thrust.googlecode.com/. Version 1.3.0.

    [7] L. Howes and D. Thomas. GPU Gems 3, chapter Efficient Random Number Generation and Application Using CUDA. Addison-Wesley, 2007.

    [8] P. L'Ecuyer and R. Simard. TestU01: A C library for empirical testing of random number generators. ACM Transactions on Mathematical Software, 33, 2007.

    [9] P. Leopardi. Testing the tests: using random number generators to improve empirical tests. Monte Carlo and Quasi-Monte Carlo Methods 2008, pages 501-512, 2009.

    [10] G. Marsaglia. DIEHARD: a battery of tests of randomness. http:// stat.fsu.edu/˜geo/ diehard.html, 1996.

  • Metrics
    No metrics available
Share - Bookmark