A fast high quality pseudo random number generator for nVidia CUDA
Department of Computer Science, CREST centre, King’s College, London, WC2R 2LS, UK
Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference: Late Breaking Papers, GECCO ’09
@conference{langdon2009fast,
title={A fast high quality pseudo random number generator for nVidia CUDA},
author={Langdon, WB},
booktitle={Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference: Late Breaking Papers},
pages={2511–2514},
year={2009},
organization={ACM}
}
Previously either due to hardware GPU limits or older versions of software, careful implementation of PRNGs was required to make good use of the limited numerical precision available on graphics cards. Newer nVidia G80 and Tesla hardware support double precision. This is available to high level programmers via CUDA. This allows a much simpler C++ implementation of Park-Miller random numbers, which provides a four fold speed up compared to an earlier GPU implementation. Code is available via http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/gp-code/random-numbers/cuda_park-miller.tar.gz
December 25, 2010 by hgpu