8/22/16 5:00PM: Partial of our services are now available including:

SPRNG

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 Glenn and Oakley Clusters. The versions currently available at OSC are:

Version Glenn Oakley notes
1.0 X*    
2.0 X X*  
* : Current Default Version

You can use module avail sprng  to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.

Access

SPRNG is available to all OSC users without restriction.

Usage

Usage on Glenn

Set-up on Glenn

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 1.0 on Glenn, use the following command: module load sprng . To configure your environment for use of SPRNG 2.0 on Glenn, use the following command: module load sprng2 . You can use module avail sprng  to view available modules on Glenn.

Note: SPRNG is dependent on the compiler and mpi module and may not be supported for all combinations.

Building With SPRNG 1.0 and 2.0 on Glenn

Once SPRNG 1.0 is loaded, the following environment variables will be defined for use with compilation tools:

Variable Function
$SPRNG_INCLUDE Include path for SPRNG header files
$SPRNG_CMRG Library path and library for CMRG generator
$SPRNG_LCG Library path and library for LCG generator
$SPRNG_LCG64 Library path and library for 64-bit LCG generator
$SPRNG_LFG Library path and library for LFG generator
$SPRNG_MLFG Library path and library for MLFG generator

Alternativly, when SPRNG 2.0 is loaded, the following variables will be defined:

VARIABLE Function
$SPRNG_INCLUDE Include path for SPRNG 2.0 header files
$SPRNG_LIBS Library path and library for SPRNG 2.0 generators

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:

VARIABLE Function
$SPRNG_INCLUDE Include path for SPRNG 2.0 header files
$SPRNG_LIBS Library path and library for SPRNG 2.0 generators

Further Reading

See Also

Supercomputer: 
Service: 
Fields of Science: