Results 1  10
of
22
SPRNG: A Scalable Library for Pseudorandom Number Generation
"... In this article we present background, rationale, and a description of the Scalable Parallel Random
Number Generators (SPRNG) library. We begin by presenting some methods for parallel pseudorandom number generation. We will focus on methods based on parameterization, meaning that we will not conside ..."
Abstract

Cited by 29 (6 self)
 Add to MetaCart
In this article we present background, rationale, and a description of the Scalable Parallel Random
Number Generators (SPRNG) library. We begin by presenting some methods for parallel pseudorandom number generation. We will focus on methods based on parameterization, meaning that we will not consider splitting methods such as the leapfrog or blocking methods. We describe in detail
parameterized versions of the following pseudorandom number generators: (i) linear congruential
generators, (ii) shiftregister generators, and (iii) laggedFibonacci generators. We briey describe
the methods, detail some advantages and disadvantages of each method, and recount results from
number theory that impact our understanding of their quality in parallel applications.
SPRNG was designed around the uniform implementation of dierent families of parameterized random number
generators. We then present a short description of
SPRNG. The description contained within this
document is meant only to outline the rationale behind and the capabilities of SPRNG. Much more
information, including examples and detailed documentation aimed at helping users with putting
and using SPRNG on scalable systems is available at the URL:
http://sprng.cs.fsu.edu/RNG. In this description of SPRNG we discuss the random number generator library as well as the suite of
tests of randomness that is an integral part of SPRNG. Random number tools for parallel Monte
Carlo applications must be subjected to classical as well as new types of empirical tests of ran
domness to eliminate generators that show defects when used in scalable environments.
On the Periods of Generalized Fibonacci Recurrences
, 1992
"... We give a simple condition for a linear recurrence (mod 2 w ) of degree r to have the maximal possible period 2 w 1 (2 r 1). It follows that the period is maximal in the cases of interest for pseudorandom number generation, i.e. for 3term linear recurrences dened by trinomials which are prim ..."
Abstract

Cited by 28 (10 self)
 Add to MetaCart
We give a simple condition for a linear recurrence (mod 2 w ) of degree r to have the maximal possible period 2 w 1 (2 r 1). It follows that the period is maximal in the cases of interest for pseudorandom number generation, i.e. for 3term linear recurrences dened by trinomials which are primitive (mod 2) and of degree r > 2. We consider the enumeration of certain exceptional polynomials which do not give maximal period, and list all such polynomials of degree less than 15. 1.
Random Number Generators for Parallel Computers
 The NHSE Review
, 1997
"... Random number generators are used in many applications, from slot machines to simulations of nuclear reactors. For many computational science applications, such as Monte Carlo simulation, it is crucial that the generators have good randomness properties. This is particularly true for largescale ..."
Abstract

Cited by 24 (1 self)
 Add to MetaCart
Random number generators are used in many applications, from slot machines to simulations of nuclear reactors. For many computational science applications, such as Monte Carlo simulation, it is crucial that the generators have good randomness properties. This is particularly true for largescale simulations done on highperformance parallel computers. Good random number generators are hard to find, and many widelyused techniques have been shown to be inadequate. Finding highquality, efficient algorithms for random number generation on parallel computers is even more difficult. Here we present a review of the most commonlyused random number generators for parallel computers, and evaluate each generator based on theoretical knowledge and empirical tests. In conclusion, we provide recommendations for using random number generators on parallel computers. Outline This review is organized as follows: A brief summary of the findings of this review is first presented, giving an overview of the use of parallel random number generators and a list of recommended algorithms. Section 1 is an introduction to random number generators and their use in computer simulations on parallel computers. Section 2 is a summary of the methods used to test and evaluate random number generators, on both sequential and parallel computers. Section 3 gives an overview of the main algorithms used to implement random number generators on sequential computers, provides examples of software implementations of the algorithms, and states any known problems with the algorithms or implementations. Section 4 gives a description of the most common methods used to parallelize the sequential algorithms, provides examples of software implementing these algorithms, and states any known problems ...
Parallel Pseudorandom Number Generation Using Additive LaggedFibonacci Recursions
, 1995
"... . We study the suitability of the additive laggedFibonacci pseudorandom number generator for parallel computation. This generator has a relatively short period with respect to the size of its seed. However, the short period is more than made up for with the huge number of fullperiod cycles it cont ..."
Abstract

Cited by 19 (4 self)
 Add to MetaCart
. We study the suitability of the additive laggedFibonacci pseudorandom number generator for parallel computation. This generator has a relatively short period with respect to the size of its seed. However, the short period is more than made up for with the huge number of fullperiod cycles it contains. We call these different fullperiod cycles equivalence classes. We show how to enumerate the equivalence classes and how to compute seeds to select a given equivalence class. The use of these equivalence classes gives an explicit parallelization suitable for a fully reproducible asynchronous MIMD implementation. To explore such an implementation we introduce an exponential sum measure of quality for the additive laggedFibonacci generators used in serial or parallel. We then prove the first nontrivial results we are aware of on this measure of quality. 1. Introduction. In Knuth's well known exposition on pseudorandom number generation [5], several methods of generation are considered...
Algorithms for Finding Almost Irreducible and Almost Primitive Trinomials
 in Primes and Misdemeanours: Lectures in Honour of the Sixtieth Birthday of Hugh Cowie Williams, Fields Institute
, 2003
"... Consider polynomials over GF(2). We describe ecient algorithms for nding trinomials with large irreducible (and possibly primitive) factors, and give examples of trinomials having a primitive factor of degree r for all Mersenne exponents r = 3 mod 8 in the range 5 < r < 10 , although there i ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
Consider polynomials over GF(2). We describe ecient algorithms for nding trinomials with large irreducible (and possibly primitive) factors, and give examples of trinomials having a primitive factor of degree r for all Mersenne exponents r = 3 mod 8 in the range 5 < r < 10 , although there is no irreducible trinomial of degree r.
Random Number Generators for Parallel Applications
 in Monte Carlo Methods in Chemical Physics
, 1998
"... this article is devoted, because these com1 putations require the highest quality of random numbers. The ability to do a multidimensional integral relies on properties of uniformity of ntuples of random numbers and/or the equivalent property that random numbers be uncorrelated. The quality aspect i ..."
Abstract

Cited by 17 (7 self)
 Add to MetaCart
this article is devoted, because these com1 putations require the highest quality of random numbers. The ability to do a multidimensional integral relies on properties of uniformity of ntuples of random numbers and/or the equivalent property that random numbers be uncorrelated. The quality aspect in the other uses is normally less important simply because the models are usually not all that precisely specified. The largest uncertainties are typically due more to approximations arising in the formulation of the model than those caused by lack of randomness in the random number generator. In contrast, the first class of applications can require very precise solutions. Increasingly, computers are being used to solve very welldefined but hard mathematical problems. For example, as Dirac [1] observed in 1929, the physical laws necessary for the mathematical theory of a large part of physics and the whole of chemistry are completely known and it is only necessary to find precise methods for solving the equations for complex systems. In the intervening years fast computers and new computational methods have come into existence. In quantum chemistry, physical properties must be calculated to "chemical accuracy" (say 0.001 Rydbergs) to be relevant to physical properties. This often requires a relative accuracy of 10
Techniques for Testing the Quality of Parallel Pseudorandom Number Generators
 in Proc. of the 7th SIAM Conf. on Parallel Processing for Scientific Computing, SIAM
, 1995
"... Ensuring that pseudorandom number generators have good randomness properties is more complicated in a multiprocessor implementationthan in the uniprocessor case. We discuss simple extensions of uniprocessor testing for SIMD parallel streams, and develop in detail a repeatability test for the SPMD pa ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
Ensuring that pseudorandom number generators have good randomness properties is more complicated in a multiprocessor implementationthan in the uniprocessor case. We discuss simple extensions of uniprocessor testing for SIMD parallel streams, and develop in detail a repeatability test for the SPMD paradigm. Examples of the application of these tests to an additive laggedFibonacci generator are also given. 1 Introduction Random numbers are used in applications ranging from scientific simulations to statistical sampling procedures. The impracticality in most cases of using true random numbers led to the development of pseudorandom number generators (PRNGs). In the course of this development, testing procedures were designed to ensure that the necessarily deterministic sequence of numbers produced by these PRNGs had analytical and statistical properties which compared well with those of a true random stream. With the tests described by Knuth [1] and Marsaglia [2, 3], an intelligent user ...
Random Number Generators with Period Divisible by a Mersenne Prime
 Proc. ICCSA 2003
, 2003
"... Pseudorandom numbers with long periods and good statistical properties are often required for applications in computational finance. We consider the requirements for good uniform random number generators, and describe a class of generators whose period is a Mersenne prime or a small multiple of ..."
Abstract

Cited by 14 (5 self)
 Add to MetaCart
Pseudorandom numbers with long periods and good statistical properties are often required for applications in computational finance. We consider the requirements for good uniform random number generators, and describe a class of generators whose period is a Mersenne prime or a small multiple of a Mersenne prime. These generators are based on "almost primitive" trinomials, that is trinomials having a large primitive factor. They enable very fast vector/parallel implementations with excellent statistical properties.
Random Number Generation and Simulation on Vector and Parallel Computers
 LECTURE NOTES IN COMPUTER SCIENCE 1470
, 1998
"... Pseudorandom numbers are often required for simulations performed on parallel computers. The requirements for parallel random number generators are more stringent than those for sequential random number generators. As well as passing the usual sequential tests on each processor, a parallel rand ..."
Abstract

Cited by 12 (8 self)
 Add to MetaCart
Pseudorandom numbers are often required for simulations performed on parallel computers. The requirements for parallel random number generators are more stringent than those for sequential random number generators. As well as passing the usual sequential tests on each processor, a parallel random number generator must give dierent, independent sequences on each processor. We consider the requirements for a good parallel random number generator, and discuss generators for the uniform and normal distributions. We also describe a new class of generators for the normal distribution (based on a proposal by Wallace). These
A fast algorithm for testing irreducibility of trinomials mod 2
 pub199.html
, 2000
"... The standard algorithm for testing reducibility of a trinomial of prime degree r over GF(2) requires 2r+O(1) bits of memory and Θ(r 2) bitoperations. We describe an algorithm which requires only 3r/2 + O(1) bits of memory and significantly fewer bitoperations than the standard algorithm. Using the ..."
Abstract

Cited by 9 (7 self)
 Add to MetaCart
The standard algorithm for testing reducibility of a trinomial of prime degree r over GF(2) requires 2r+O(1) bits of memory and Θ(r 2) bitoperations. We describe an algorithm which requires only 3r/2 + O(1) bits of memory and significantly fewer bitoperations than the standard algorithm. Using the algorithm, we have found 18 new irreducible trinomials of degree r in the range 100151 ≤ r ≤ 700057. If r is a Mersenne exponent (i.e. 2 r −1 is a Mersenne prime), then an irreducible trinomial is primitive. Primitive trinomials are of interest because they can be used to give pseudorandom number generators with period at least 2 r − 1. We give examples of primitive trinomials for r = 756839, 859433, and 3021377. The three results for r = 756839 are new. The results for r = 859433 extend and correct some computations of Kumada et al. [Math. Comp. 69 (2000), 811–814]. The two results for r = 3021377 are primitive trinomials of the highest known degree. 1 Copyright c○2000, the authors. rpb199tr typeset using L ATEX 1 1