133 research outputs found
Pseudo-random number generators for Monte Carlo simulations on Graphics Processing Units
Basic uniform pseudo-random number generators are implemented on ATI Graphics
Processing Units (GPU). The performance results of the realized generators
(multiplicative linear congruential (GGL), XOR-shift (XOR128), RANECU, RANMAR,
RANLUX and Mersenne Twister (MT19937)) on CPU and GPU are discussed. The
obtained speed-up factor is hundreds of times in comparison with CPU. RANLUX
generator is found to be the most appropriate for using on GPU in Monte Carlo
simulations. The brief review of the pseudo-random number generators used in
modern software packages for Monte Carlo simulations in high-energy physics is
present.Comment: 31 pages, 9 figures, 3 table
A Parallel Monte Carlo Code for Simulating Collisional N-body Systems
We present a new parallel code for computing the dynamical evolution of
collisional N-body systems with up to N~10^7 particles. Our code is based on
the the Henon Monte Carlo method for solving the Fokker-Planck equation, and
makes assumptions of spherical symmetry and dynamical equilibrium. The
principal algorithmic developments involve optimizing data structures, and the
introduction of a parallel random number generation scheme, as well as a
parallel sorting algorithm, required to find nearest neighbors for interactions
and to compute the gravitational potential. The new algorithms we introduce
along with our choice of decomposition scheme minimize communication costs and
ensure optimal distribution of data and workload among the processing units.
The implementation uses the Message Passing Interface (MPI) library for
communication, which makes it portable to many different supercomputing
architectures. We validate the code by calculating the evolution of clusters
with initial Plummer distribution functions up to core collapse with the number
of stars, N, spanning three orders of magnitude, from 10^5 to 10^7. We find
that our results are in good agreement with self-similar core-collapse
solutions, and the core collapse times generally agree with expectations from
the literature. Also, we observe good total energy conservation, within less
than 0.04% throughout all simulations. We analyze the performance of the code,
and demonstrate near-linear scaling of the runtime with the number of
processors up to 64 processors for N=10^5, 128 for N=10^6 and 256 for N=10^7.
The runtime reaches a saturation with the addition of more processors beyond
these limits which is a characteristic of the parallel sorting algorithm. The
resulting maximum speedups we achieve are approximately 60x, 100x, and 220x,
respectively.Comment: 53 pages, 13 figures, accepted for publication in ApJ Supplement
Acceleration techniques for dependability simulation
As computer systems increase in complexity, the need to project system performance from the earliest design and development stages increases. We have to employ simulation for detailed dependability studies of large systems. However, as the complexity of the simulation model increases, the time required to obtain statistically significant results also increases. This paper discusses an approach that is application independent and can be readily applied to any process-based simulation model. Topics include background on classical discrete event simulation and techniques for random variate generation and statistics gathering to support simulation
Analysis of Random Number Generators Using Monte Carlo Simulation
Revisions are almost entirely in the introduction and conclusion. Results are
unchanged, however the comments and recommendations on different generators
were changed, and more references were added.Comment: Email: [email protected] 16 pages, Latex with 1 postscript figure.
NPAC technical report SCCS-52
Periodic orbits of the ensemble of Sinai-Arnold cat maps and pseudorandom number generation
We propose methods for constructing high-quality pseudorandom number
generators (RNGs) based on an ensemble of hyperbolic automorphisms of the unit
two-dimensional torus (Sinai-Arnold map or cat map) while keeping a part of the
information hidden. The single cat map provides the random properties expected
from a good RNG and is hence an appropriate building block for an RNG, although
unnecessary correlations are always present in practice. We show that
introducing hidden variables and introducing rotation in the RNG output,
accompanied with the proper initialization, dramatically suppress these
correlations. We analyze the mechanisms of the single-cat-map correlations
analytically and show how to diminish them. We generalize the Percival-Vivaldi
theory in the case of the ensemble of maps, find the period of the proposed RNG
analytically, and also analyze its properties. We present efficient practical
realizations for the RNGs and check our predictions numerically. We also test
our RNGs using the known stringent batteries of statistical tests and find that
the statistical properties of our best generators are not worse than those of
other best modern generators.Comment: 18 pages, 3 figures, 9 table
Improved long-period generators based on linear recurrences modulo 2
Fast uniform random number generators with extremely long periods have been defined and implemented based on linear recurrences modulo 2. The twisted GFSR and the Mersenne twister are famous recent examples. Besides the period length, the statistical quality of these generators is usually assessed via their equidistribution properties. The huge-period generators proposed so far are not quite optimal in this respect. In this article, we propose new generators of that form with better equidistribution and "bit-mixing" properties for equivalent period length and speed. The state of our new generators evolves in a more chaotic way than for the Mersenne twister. We illustrate how this can reduce the impact of persistent dependencies among successive output values, which can be observed in certain parts of the period of gigantic generators such as the Mersenne twister
Distribution of Random Streams for Simulation Practitioners
International audienceThere is an increasing interest in the distribution of parallel random number streamsin the high-performance computing community particularly, with the manycore shift. Even ifwe have at our disposal statistically sound random number generators according to the latestand thorough testing libraries, their parallelization can still be a delicate problem. Indeed, aset of recent publications shows it still has to be mastered by the scientific community. Withthe arrival of multi-core and manycore processor architectures on the scientist desktop, modelerswho are non-specialists in parallelizing stochastic simulations need help and advice in distributingrigorously their experimental plans and replications according to the state of the art in pseudo-random numbers parallelization techniques. In this paper, we discuss the different partitioningtechniques currently in use to provide independent streams with their corresponding software. Inaddition to the classical approaches in use to parallelize stochastic simulations on regular processors,this paper also presents recent advances in pseudo-random number generation for general-purposegraphical processing units. The state of the art given in this paper is written for simulationpractitioners
- …