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] adye_v1_0.tar.gz(5 Kbytes)
Manuscript Title: A package of Linux scripts for the parallelization of Monte Carlo simulations
Authors: Andreu Badal, Josep Sempau
Program title: seedsMLCG
Catalogue identifier: ADYE_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 175(2006)440
Programming language: FORTRAN 77.
Computer: Any computer with a FORTRAN compiler.
Operating system: Linux (RedHat 8.0, SuSe 8.1, Debian Woody 3.1), MS Windows (2000, XP). Compilers, GNU FORTRAN g77 (Linux and Windows); g95 (Linux); Intel Fortran Compiler 7.1 (Linux); Compaq Visual Fortran 6.1 (Windows).
RAM: 500 KBytes
Word size: 32 bits
Keywords: Pseudo-random number generator, Multiplicative linear congruential generator, RANECU, PENELOPE.
PACS: 02.70.Uu.
Classification: 6.5.

Nature of problem:
Statistically independent results from different runs of a Monte Carlo code can be obtained using uncorrelated sequences of random numbers on each execution. Multiplicative linear congruential generators (MLCG), or other generators that are based on them such as RANECU, can be adapted to produce these sequences.

Solution method:
For a given MLCG, the presented program calculates initialization values that produce disjoint, consecutive sequences of pseudo-random numbers. The calculated values initiate the generator in distant positions of the random number cycle and can be used, for instance, on a parallel simulation. The values are found using the formula SJ = (aJS0) MOD m, which gives the random value that will be generated after J iterations of the MLCG.

The 32-bit length restriction for the integer variables in standard FORTRAN 77 limits the produced seeds to be separated a distance smaller than 231, when the distance J is expressed as an integer value. The program allows the user to input the distance as a power of 10 for the purpose of efficiently splitting the sequence of generators with a very long period.

Additional comments:
The program, "clonEasy", referred to in the manuscript associated with this program, is held in the CPC Program Library as ADYD_v1_0.

Running time:
The execution time depends on the parameters of the used MLCG and the distance between the generated seeds. The generation of 106 seeds separated 1012 units in the sequential cycle, for one of the MLCGs found in the RANECU generator, takes 3 seconds on a 2.4 GHz Intel Pentium 4 using the g77 compiler.