|
Random number generators The choice of a good random number generator is a crucial aspect in a Monte Carlo code. During the development of MCSHAPE v.2.0x, much attention was dedicated to this aspect. On a single processor, the ran1 generator (Numerical Recipes for Fortran 90 v.2.06) was used. It is a Lagged Fibonacci generator combined with two Marsaglia shift sequences. The period of this generator is about 8.5 X 1037 and no weakness in ran1 are known [1]. For the parallel version, the problem of finding a good random number generator is more difficult [2]. In is important to underline that, even if it is not difficult to made Monte Carlo applications in parallel, the pooled result is good only if the results in each processor are statistically independent [3]. Therefore, a parallel pseudorandom number generator must be tested for two types of correlations: (i) intra-stream correlation (as for any sequential generator), and (ii) inter-stream correlations between random number streams on different processes [3]. The Scalable Parallel Random Number Generators (SPRNG) library [4], a comprehensive tool for parallel and distributed pseudorandom number generation, was used in the parallel version of the code MCSHAPE v.2.01. SPRNG was tested both for intra-stream correlation and for inter-stream correlation and have passed some of the largest empirical random number tests [3]. The SPRNG library is freely distributed on the web site: http://sprng.cs.fsu.edu
References 1. Numerical Recipes in Fortran 90: The Art of Parallel Scientific Computing (1996) Cambridge University Press. 2. Coddington, P.D. Random Number Generators for Parallel Computers (28 April 1997). Available at: http://www.npac.syr.edu/users/paulc/resume/publications.html 3. Srinivasan, A. , Mascagni, M. and Ceperley D., Testing parallel random number generators, Parallel Computing 29 (2003) 69-94. 4. Mascagni, M., Ceperley D. and Srinivasan, A., SPRNG: A Scalable Library for Pseudorandom Number Generation, ACM Trans. Math. Software 26 (2000) 436-461. |
||||
|
©Copyright 2006 |
||||
| [home] [overview] [SHAPE] [MCSHAPE] [system requeriments] [input of the code] [Tutorial INPUT] [libraries of physical data] [how to install] [how to run] [example: interactive] [releases] [validation of the code] [random numbers] [open problems] [references] [MUPLOT] [SAP] [atomic database] [data tables] [downloads] [links] [our group] [publications] |