## SPRNG: A Scalable Library for Pseudorandom Number Generation

Citations: | 29 - 6 self |

### BibTeX

@MISC{Mascagni_sprng:a,

author = {Michael Mascagni and Ashok Srinivasan},

title = { SPRNG: A Scalable Library for Pseudorandom Number Generation},

year = {}

}

### OpenURL

### Abstract

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 leap-frog or blocking methods. We describe in detail parameterized versions of the following pseudorandom number generators: (i) linear congruential generators, (ii) shift-register generators, and (iii) lagged-Fibonacci 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.