Computational stochastic approaches (Monte Carlo methods) based on random sampling are becoming extremely important research tools not only in their "traditional" fields such as physics, chemistry or applied mathematics but also in social sciences and, recently, in various branches of industry. An indication of importance is, for example, the fact that Monte Carlo calculations consume about one half of the supercomputer cycles. One of the indispensable and important ingredients for reliable and statistically sound calculations is the source of pseudo random numbers. SPRNG provides a scalable package for parallel pseudo random number generation which will be easy to use on a variety of architectures, especially in large-scale parallel Monte Carlo applications.
SPRNG 1.0 provides the user the various SPRNG random number generators each in its own library. For most users this is acceptable, as one rarely uses more than one type of generator in a single program. However, if the user desires this added flexibility, SPRNG 2.0 provides it. In all other respects, SPRNG 1.0 and SPRNG 2.0 are identical.
Availability and Restrictions
SPRNG is available on Oakley Cluster. The versions currently available at OSC are:
You can use
module spider sprng to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.
SPRNG is available to all OSC users without restriction.
Usage on Oakley
Set-up on Oakley
Initalizing the system for use of SPRNG is dependent on the system you are using and the compiler you are using. To configure your environment for use of SPRNG 2.0 on Oakley, use the following command:
module load sprng/2.0 . You can use
module avail sprng to view available modules on Oakley.
Note: SPRNG is dependent on the compiler and mpi module and may not be supported for all combinations.
Building With SPRNG 2.0 on Oakley
When SPRNG 2.0 is loaded, the following variables will be defined:
||Include path for SPRNG 2.0 header files|
||Library path and library for SPRNG 2.0 generators|