Random number generators input
- Any control file setup that needs one or more RNGs must contain an
rngs...endblock. This is used to enable and configure one or more RNGs.
rngs...endblock must appear before any reference to an RNG.
rngs...endblock consists of a list of
<rngname>is a placeholder for the name of the RNG to be enabled and configured. Currently, three different libraries are interfaced: Intel's Math Kernel Library (MKL), RNGSSE, and Random123. See also the page on RNGTest. The first part of
<rngname>is the library,
r123, followed by an underscore,
_, followed by the name of the particular RNG from the given library.
<rngname>...endblock expects a different syntax, depending on what options are available for (and interfaced with) the given RNG.
All RNGs provided by MKL can be configured to be initialized using a user-specified
seed, and use a user-specified
gamma_method, each used to control the algorithm used for the various distribution generators. For more details on the available options for these keywords, see the on-screen help from the executable, e.g.,
walker -H uniform_method
All RNGs provided by the RNGSSE library can be configured to be initialized using a user-specified sequence length by the
seqlen keyword. For more details on the available options for the
seqlen keyword, see the on-screen help from the executable, e.g.,
walker -H seqlen
The RNGs provided by the Random123 library that are hooked up are ThreeFry and Philox. They can be configured to be initialized using a user-specified seed with the
Here is an example control file block configuring multiple generators.
rngs mkl_mcg59 seed 2134 uniform_method accurate end mkl_r250 seed 1 end mkl_mcg31 end mkl_mrg32k3a seed 0 end rngsse_mrg32k3a end rngsse_gq58.4 seqlen long end r123_threefry end end