50 research outputs found

    A Portable High-Quality Random Number Generator for Lattice Field Theory Simulations

    Full text link
    The theory underlying a proposed random number generator for numerical simulations in elementary particle physics and statistical mechanics is discussed. The generator is based on an algorithm introduced by Marsaglia and Zaman, with an important added feature leading to demonstrably good statistical properties. It can be implemented exactly on any computer complying with the IEEE--754 standard for single precision floating point arithmetic.Comment: pages 0-19, ps-file 174404 bytes, preprint DESY 93-13

    Monte Carlo Simulation With The GATE Software Using Grid Computing

    Get PDF
    DĂ©monstrationInternational audienceMonte Carlo simulations needing many replicates to obtain good statistical results can be easily executed in parallel using the "Multiple Replications In Parallel" approach. However, several precautions have to be taken in the generation of the parallel streams of pseudo-random numbers. In this paper, we present the distribution of Monte Carlo simulations performed with the GATE software using local clusters and grid computing. We obtained very convincing results with this large medical application, thanks to the EGEE Grid (Enabling Grid for E-sciencE), achieving in one week computations that could have taken more than 3 years of processing on a single computer. This work has been achieved thanks to a generic object-oriented toolbox called DistMe which we designed to automate this kind of parallelization for Monte Carlo simulations. This toolbox, written in Java is freely available on SourceForge and helped to ensure a rigorous distribution of pseudo-random number streams. It is based on the use of a documented XML format for random numbers generators statuses

    Design, Search and Implementation of Improved Large Order Multiple Recursive Generators and Matrix Congruential Generators

    Get PDF
    Large order, maximum period multiple recursive generators (MRGs) with few nonzero terms (e.g., DX-k-s generators) have become popular in the area of computer simulation. They are efficient, portable, have a long period, and have the nice property of high-dimensional equi-distribution. The latter two properties become more advantageous as k increases. The performance on the spectral test, a theoretical test that provides some measure of uniformity in dimensions beyond the MRG\u27s order k, could be improved by choosing multipliers that yield a better spectral test value. We propose a new method to compute the spectral test which is simple, intuitive, and efficient for some special classes of large order MRGs. Using this procedure, we list \u27\u27better\u27\u27 FMRG-k and DX-k-s generators with respect to performance on the spectral test. Even so, MRGs with few nonzero terms do not perform as well with respect to the spectral test as MRGs with many nonzero terms. However, MRGs with many nonzero terms can be inefficient or lack a feasible parallelization method, i.e., a method of producing substreams of (pseudo) random numbers that appear independent. To implement these MRGs efficiently and in parallel, we can use an equivalent recursion from another type of generator, the matrix congruential generator (MCG), a k-dimensional generalization of a first order linear recursion where the multipliers are embedded in a k by k matrix. When MRGs are used to construct MCGs and the recursion of the MCG is implemented k at a time for a k-dimensional vector sequence, then the MCG mimics k copies of a MRG in parallel with different starting seeds. Therefore, we propose a method for efficiently finding MRGs with many nonzero terms from an MRG with few nonzero terms and then give an efficient and parallel MCG implementation of these MRGs with many nonzero terms. This method works best for moderate order k. For large order MRGs with many nonzero terms, we propose a special class called DW-k. This special class has a characteristic polynomial that yields many nonzero terms and corresponds to an efficient and parallel MCG implementation

    Pseudo-Random Number Generation on GP-GPU

    Get PDF
    International audienceRandom number generation is a key element of stochastic simulations. It has been widely studied for sequential applications purposes, enabling us to reliably use pseudo-random numbers in this case. Unfortunately, we cannot be so enthusiastic when dealing with parallel stochastic simulations. Many applications still neglect random stream parallelization, leading to potentially biased results. Particular parallel execution platforms, such as Graphics Processing Units (GPUs), add their constraints to those of Pseudo-Random Number Generators (PRNGs) used in parallel. It results in a situation where potential biases can be combined to performance drops when parallelization of random streams has not been carried out rigorously. Here, we propose criteria guiding the design of good GPU-enabled PRNGs. We enhance our comments with a study of the techniques aiming to correctly parallelize random streams, in the context of GPU-enabled stochastic simulations

    Random number generation with multiple streams for sequential and parallel computing

    Get PDF
    International audienceWe provide a review of the state of the art on the design and implementation of random number generators (RNGs) for simulation, on both sequential and parallel computing environments. We focus on the need for multiple streams and substreams of random numbers, explain how they can be constructed and managed, review software libraries that offer them, and illustrate their usefulness via examples. We also review the basic quality criteria for good random number generators and their theoretical and empirical testing
    corecore