Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aeoi_v1_0.tar.gz(1388 Kbytes)
Manuscript Title: GASPRNG: GPU Accelerated Scalable Parallel Random Number Generator Library
Authors: Shuang Gao, Gregory D. Peterson
Program title: GASPRNG
Catalogue identifier: AEOI_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 184(2013)1241
Programming language: C and CUDA.
Computer: Any PC or workstation with NVIDIA GPU (Tested on Fermi GTX480, Tesla C1060, Tesla M2070).
Operating system: Linux with CUDA version 4.0 or later. Should also run on MacOS, Windows, or UNIX.
Has the code been vectorised or parallelized?: Yes. Parallelized using MPI directives.
RAM: 512MB ~ 732MB (main memory on host CPU, depending on the data type of random numbers.) / 512MB (GPU global memory)
Keywords: GPGPU, Pseudo-random number generator, SPRNG, Monte Carlo.
PACS: 07.05.Tp, 05.10.Ln, 02.70.Uu, 07.05.Bx.
Classification: 4.13, 6.5.

Nature of problem:
Many computational science applications are able to consume large numbers of random numbers. For example, Monte Carlo simulations are able to consume limitless random numbers for the computation as long as resources for the computing are supported. Moreover, parallel computational science applications require independent streams of random numbers to attain statistically significant results. The SPRNG library provides this capability, but at a significant computational cost. The GASPRNG library presented here accelerates the generators of independent streams of random numbers using graphical processing units (GPUs).

Solution method:
Multiple copies of random number generators in GPUs allow a computational science application to consume large numbers of random numbers from independent, parallel streams. GASPRNG is a random number generators library to allow a computational science application to employ multiple copies of random number generators to boost performance. Users can interface GASPRNG with software code executing on microprocessors and/or GPUs.

Running time:
The tests provided take a few minutes to run.