Using graphics processing units to generate random numbers

S. Hissoiny, P. Despres, B. Ozell
Ecole polytechnique de Montreal, Departement de genie informatique et genie logiciel, 2500 chemin de Polytechnique. Montreal (Quebec), CANADA H3T 1J4
arXiv:1101.1846 [cs.DC] (10 Jan 2011)


   author={Hissoiny}, S. and {Despr{‘e}s}, P. and {Ozell}, B.},

   title={“{Using graphics processing units to generate random numbers}”},

   journal={ArXiv e-prints},




   keywords={Computer Science – Distributed, Parallel, and Cluster Computing},




   adsnote={Provided by the SAO/NASA Astrophysics Data System}


Download Download (PDF)   View View   Source Source   



The future of high-performance computing is aligning itself towards the efficient use of highly parallel computing environments. One application where the use of massive parallelism comes instinctively is Monte Carlo simulations, where a large number of independent events have to be simulated. At the core of the Monte Carlo simulation lies the Random Number Generator (RNG). In this paper, the massively parallel implementation of a collection of pseudo-random number generators on a graphics processing unit (GPU) is presented. The results of the GPU implementation, in terms of samples/s, effective bandwidth and operations per second, are presented. A comparison with other implementations on different hardware platforms, in terms of samples/s, power efficiency and cost-benefit, is also presented. Random numbers generation throughput of up to ~18MSamples/s have been achieved on the graphics hardware used. Efficient hardware utilization, in terms of operations per second, has reached ~98% of the possible integer operation throughput.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2020 hgpu.org

All rights belong to the respective authors

Contact us: