Computational Science Technical Note CSTN-103

CSTN Home

Speed and Portability issues for Random Number Generation on Graphical Processing Units with CUDA and other Processing Accelerators

K. A. Hawick, A. Leist, D. P. Playne and M. J. Johnson

Archived November 2009, Revised August 2010.

Abstract

Generating quality random numbers is a performance-critical application for many scientific simulations. Modern processing acceleration techniques such as: graphical co-processing units(GPUs), multi-core conventional CPUs; special purpose multi-core CPUs; and parallel computing approaches such as multi-threading on shared memory or message passing on clusters, all offer ways to speed up random number generation (RNG). Providing fast generators that are also portable across hardware and software platforms is non-trivial however, particularly since many of the powerful devices available at present do not yet support full 64-bit operations upon which many good RNG algorithms rely. We report performance data for a range of common RNG algorithms on devices including: GPUs; CellBE; multicore CPUs; and hybrids, and discuss algorithmic and implementation issues.

Keywords: Monte-Carlo simulation; random number generation; seed management; configuration management; portability.

Full Document Text: PDF version.

Citation Information: BiBTeX database for CSTN Notes.

BiBTeX reference:

@INPROCEEDINGS{CSTN-103,
  author = {K. A. Hawick and Arno Leist and Daniel P. Playne and Martin J. Johnson},
  title = {{Speed and Portability issues for Random Number Generation on Graphical
	Processing Units with CUDA and other Processing Accelerators}},
  booktitle = {9th Australasian Symposium on Parallel and Distributed Computing(AusPDC)},
  year = {2011},
  volume = {118},
  pages = {3-12},
  address = {Perth, Australia},
  month = {17-20 January},
  publisher = {CRPIT},
  keywords = {GPGPU, RNG, Parallel Computing},
  timestamp = {2011.03.23}
}


[ CSTN Index | CSTN BiBTeX ]