Abstract
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 GPU-based PRNGs, demonstrating favourable performance of the xorgens-based approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Andrieu, C., Doucet, A., Holenstein, R.: Particle Markov chain Monte Carlo methods. Journal of the Royal Statistical Society Series B 72, 269–302 (2010)
Brent, R.P.: xorgens version 3.05 (2008), http://maths.anu.edu.au/~brent/random.html
Brent, R.P.: Some long-period random number generators using shifts and xors. ANZIAM Journal 48 (2007)
Doucet, A., de Freitas, N., Gordon, N. (eds.): Sequential Monte Carlo Methods in Practice. Springer (2001)
Gilks, W., Richardson, S., Spiegelhalter, D. (eds.): Markov chain Monte Carlo in practice. Chapman and Hall (1995)
Hoberock, J., Bell, N.: Thrust: A parallel template library (2010), http://thrust.googlecode.com
Howes, L., Thomas, D.: Efficient Random Number Generation and Application Using CUDA. GPU Gems 3. Addison-Wesley (2007)
Langdon, W.: A fast high quality pseudo random number generator for NVIDIA CUDA. In: Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference: Late Breaking Papers. pp. 2511–2514. ACM (2009)
L’Ecuyer, P., Simard, R.: TestU01: A C library for empirical testing of random number generators. ACM Transactions on Mathematical Software 33 (2007)
Leopardi, P.: Testing the tests: using random number generators to improve empirical tests. In: Monte Carlo and Quasi-Monte Carlo Methods 2008, pp. 501–512 (2009)
Marsaglia, G.: DIEHARD: a battery of tests of randomness (1996), http://stat.fsu.edu/~geo/diehard.html
Marsaglia, G.: Xorshift RNGs. Journal of Statistical Software 8(14), 1–6 (2003)
Matsumoto, M., Nishimura, T.: Mersenne twister: A 623-dimensionally equidistributed uniform pseudorandom number generator. ACM Transactions on Modeling and Computer Simulation 8, 3–30 (1998)
Murray, L.M.: GPU acceleration of Runge-Kutta integrators. IEEE Transactions on Parallel and Distributed Systems 23, 94–101 (2012)
Murray, L.M.: GPU acceleration of the particle filter: The Metropolis resampler. In: DMMD: Distributed Machine Learning and Sparse Representation with Massive Data Sets (2011)
NVIDIAÂ Corp: CUDA Compute Unified Device Architecture Programming Guide Version 3.2. NVIDIA Corp., Santa Clara, CA 95050 (2010)
NVIDIAÂ Corp: CUDA CURAND Library. NVIDIA Corporation (2010)
Phillips, C.L., Anderson, J.A., Glotzer, S.C.: Pseudo-random number generation for Brownian dynamics and dissipative particle dynamics simulations on GPU devices. Journal of Computational Physics 230(19), 7191–7201 (2011), http://www.sciencedirect.com/science/article/pii/S0021999111003329
Saito, M.: A variant of Mersenne Twister suitable for graphic processors (2011), http://arxiv.org/abs/1005.4973
Sussman, M., Crutchfield, W., Papakipos, M.: Pseudorandom number generation on the GPU. In: Proceedings of the 21st ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics Hardware, pp. 87–94. ACM, New York (2006), http://dl.acm.org/citation.cfm?id=1283900.1283914
Tzeng, S., Wei, L.: Parallel white noise generation on a GPU via cryptographic hash. In: Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games, pp. 79–87. ACM (2008)
Zafar, F., Olano, M., Curtis, A.: GPU random numbers via the tiny encryption algorithm. In: Proceedings of the Conference on High Performance Graphics, pp. 133–141. Eurographics Association, Aire-la-Ville (2010), http://dl.acm.org/citation.cfm?id=1921479.1921500
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nandapalan, N., Brent, R.P., Murray, L.M., Rendell, A.P. (2012). High-Performance Pseudo-Random Number Generation on Graphics Processing Units. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2011. Lecture Notes in Computer Science, vol 7203. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31464-3_62
Download citation
DOI: https://doi.org/10.1007/978-3-642-31464-3_62
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31463-6
Online ISBN: 978-3-642-31464-3
eBook Packages: Computer ScienceComputer Science (R0)