A Portable Implementation of RANLUX++

@inproceedings{Hahnfeld2021API,
  title={A Portable Implementation of RANLUX++},
  author={Jonas Hahnfeld and L. Moneta},
  year={2021}
}
High energy physics has a constant demand for random number generators (RNGs) with high statistical quality. In this paper, we present ROOT’s implementation of the RANLUX++ generator. We discuss the choice of relying only on standard C++ for portability reasons. Building on an initial implementation, we describe a set of optimizations to increase generator speed. This allows to reach performance very close to the original assembler version. We test our implementation on an Apple M1 and Nvidia… Expand

Figures from this paper

References

SHOWING 1-9 OF 9 REFERENCES
RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Lüscher
TLDR
A portable Fortran 77 implementation of a high-quality generator called RANLUX (for LUXury RANdom numbers), using the algorithm of Martin Luscher described in an accompanying article. Expand
A revision of the subtract-with-borrow random number generators
TLDR
The most popular and widely used subtract-with-borrow generator, also known as RANLUX, is reimplemented as a linear congruential generator using large integer arithmetic with the modulus size of 576 bits to show a significant gain in generation speed. Expand
A portable high-quality random number generator for lattice field theory simulations
Abstract 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 anExpand
TestU01: A C library for empirical testing of random number generators
We introduce TestU01, a software library implemented in the ANSI C language, and offering a collection of utilities for the empirical statistical testing of uniform random number generators (RNGs).Expand
Review of High-Quality Random Number Generators
TLDR
This paper outlines the Kolmogorov–Anosov theory of mixing in classical mechanical systems, and establishes criteria for deciding which RNG’s are sufficiently good approximations to the ideal mathematical systems that guarantee highest quality. Expand
The MIXMAX random number generator
  • K. Savvidy
  • Mathematics, Computer Science
  • Comput. Phys. Commun.
  • 2015
TLDR
This paper provides a solution to the problem of determining the maximal period of unimodular matrix generators of pseudo-random numbers, formulate the necessary and sufficient condition to attain the maximum period, and presents a family of specific generators in the MIXMAX family with superior performance and excellent statistical properties. Expand
ROOT: an object-oriented data analysis framework
TLDR
The ROOT system in an Object Oriented framework for large scale data analysis contains an efficient hierarchical 00 database, a C ++ interpreter, and advanced statistical analysis (multi-dimensional histogramming, fitting, minimization, cluster finding algorithms) and visualization tools. Expand
RANLUX Random Number Generator, https://luscher.web.cern.ch/luscher/ ranlux
  • accessed June
  • 2021