SPRNG

scalable parallel pseudorandom number generator library

maintained by Ashok Srinivasan and Michael Mascagni
University of Florida

SPRNG is free and is easily downloaded.
   The download includes a test suite and instructions for installation and use.
   SPRNG can be installed without superuser privileges in a user directory.
    The library can be used in both serial and parallel fortran, c and c++ programs.

Generators included in the library:
number description name period
0 additive lagged Fibonacci generator (more) lfg 21310=10569
1 48-bit linear congruential generator with prime addend lcg 248=1014
2 64-bit linear congruential generator with prime addend (more) lcg64 264=1019
3 combined multiple recursive generator
combination of a prime modulus generator and a linear congruential generator.
cmrg 2219=1095
4 multiplicative lagged Fibonacci generator mlfg 281=1024
5 prime modulus linear congruential generator
requires the GNU multiprecision arithmetic library libgmp.a so is not installed by default
pmlcg  

The "simple" interface supports one stream of random numbers per process. Each process draws from an independent stream of pseudorandom numbers. The "default" (not "simple") interface supports multiple random number streams per process.

All the generators included have been tested for correlations within and between streams and have also been tested in Ising and random walk simulations.

A sample c++ program runsprng.cpp illustrates use of the sprng library.


go back to MPI on beowulf at VDIL index.