Random number generators for massively parallel simulations on GPU
Institute of Physics, University of Oldenburg, 26111 Oldenburg, Germany
arXiv:1204.6193v1 [physics.comp-ph] (27 Apr 2012)
@article{2012arXiv1204.6193M,
author={Manssen}, M. and {Weigel}, M. and {Hartmann}, A.~K.},
title={"{Random number generators for massively parallel simulations on GPU}"},
journal={ArXiv e-prints},
archivePrefix={"arXiv"},
eprint={1204.6193},
primaryClass={"physics.comp-ph"},
keywords={Physics – Computational Physics, Condensed Matter – Statistical Mechanics, High Energy Physics – Lattice},
year={2012},
month={apr},
adsurl={http://adsabs.harvard.edu/abs/2012arXiv1204.6193M},
adsnote={Provided by the SAO/NASA Astrophysics Data System}
}
High-performance streams of (pseudo) random numbers are crucial for the efficient implementation for countless stochastic algorithms, most importantly, Monte Carlo simulations and molecular dynamics simulations with stochastic thermostats. A number of implementations of random number generators has been discussed for GPU platforms before and some generators are even included in the CUDA supporting libraries. Nevertheless, not all of these generators are well suited for highly parallel applications where each thread requires its own generator instance. For this specific situation encountered, for instance, in simulations of lattice models, most of the high-quality generators with large states such as Mersenne twister cannot be used efficiently without substantial changes. We provide a broad review of existing CUDA variants of random-number generators and present the CUDA implementation of a new massively parallel high-quality, high-performance generator with a small memory load overhead.
May 1, 2012 by hgpu