Results 1  10
of
23
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 30 (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.
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
On Shortcomings of the ns2 Random Number Generator
 Communication Networks and Distributed Systems Modeling and Simulation (CNDS 2002
, 2002
"... The ns2 is a widely used network simulation tool which implements a fairly old and weak random number generator (RNG). As the RNG component is used by a variety of other components, it can be seen as one of the most important core components of the ns2. In this paper we explore weaknesses of this ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
The ns2 is a widely used network simulation tool which implements a fairly old and weak random number generator (RNG). As the RNG component is used by a variety of other components, it can be seen as one of the most important core components of the ns2. In this paper we explore weaknesses of this RNG and demonstrate its shortcomings in context with a simple simulation example (M/D/1) which produces severely wrong simulation results when this RNG is used in combination with specific seeds. We incorporate the modern Mersenne Twister RNG into the ns2 and show how the insensitivity of this RNG regarding to the initial seeds leads to significant improvements in the simulation outputs and that this modern RNG has no bad effects with respect to the performance of random number generation.
High Dimensional Pricing of Exotic European Contracts on a GPU Cluster, and Comparison to a CPU Cluster
 in "Second International Workshop on Parallel and Distributed Computing in Finance  PDCoF 2009, Italie Rome", 2009, p. Proceedings on CDROM (8
"... The aim of this paper is the efficient use of CPU and GPU clusters for a general pathdependent exotic European pricing, and their comparison in terms of speed and energy consumption. To reach our goal, we propose a parallel random number generator which is well suited to the parallelization paradig ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
The aim of this paper is the efficient use of CPU and GPU clusters for a general pathdependent exotic European pricing, and their comparison in terms of speed and energy consumption. To reach our goal, we propose a parallel random number generator which is well suited to the parallelization paradigm, then, we implement a multidimensional Asian contract as a benchmark using g++/OpenMP/OpenMPI on CPUs and CUDAnvcc/OpenMPI on GPUs. Finally, we give the detailed results of the two architectures for different size problems using 116 GPUs and 1256 dualcore CPUs.
Some Methods Of Parallel Pseudorandom Number Generation
 in Proceedings of the IMA Workshop on Algorithms for Parallel Processing
, 1997
"... . We detail several methods used in the production of pseudorandom numbers for scalable systems. We will focus on methods based on parameterization, meaning that we will not consider splitting methods. We describe parameterized versions of the following pseudorandom number generation: 1. linear cong ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
. We detail several methods used in the production of pseudorandom numbers for scalable systems. We will focus on methods based on parameterization, meaning that we will not consider splitting methods. We describe parameterized versions of the following pseudorandom number generation: 1. linear congruential generators 2. linear matrix generators 3. shiftregister generators 4. laggedFibonacci generators 5. inversive congruential generators We briefly 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. Several of these methods are currently part of scalable library for pseudorandom number generation, called the SPRNG package available at the URL: www.ncsa.uiuc.edu/Apps/CMP/RNG. Key words. pseudorandom number generation, parallel computing, linear congruential, laggedFibonacci, inversive congruential, shiftregister AMS(MOS) subject classifications....
Quantum Simulations of Complex ManyBody Systems: From Theory to Algorithms, Lecture Notes,
"... Permission to make digital or hard copies of portions of this work for personal or classroom use is granted provided that the copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise requires pri ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Permission to make digital or hard copies of portions of this work for personal or classroom use is granted provided that the copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise requires prior specific permission by the publisher mentioned above.
Parallel Random Number Generators in Java
, 2003
"... Scientific computing has long been pushing the boundaries of computational requirements in computer science. An important aspect of scientific computing is the generation of large quantities of random numbers, especially in parallel to take advantage of parallel architectures. Many science and engin ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Scientific computing has long been pushing the boundaries of computational requirements in computer science. An important aspect of scientific computing is the generation of large quantities of random numbers, especially in parallel to take advantage of parallel architectures. Many science and engineering programs require random numbers for applications like Monte Carlo simulation. Such an environment suitable for parallel computing is Java, though rarely used for scientific applications due to its perceived slowness when compared to complied languages like C. Through research and recommendations, Java is slowly being shaped into a viable language for such computational intense applications. Java has the potential for such large scale applications, since it is a modern language with a large programmer base and many well received features such as builtin support for parallelism using threads. With improved performance from better compilers, Java is becoming more commonly used for scientific computing but Java still lacks a number of features like optimised scientific software libraries. This project looks at the effectiveness and efficiency of implementing a parallel random number
Generating Parallel Random Sequences via Parameterizing EICGs for Heterogeneous Computing Environments
"... Abstract. Monte Carlo (MC) simulations are considered to be ideal for parallelization because a large Monte Carlo problem can often be easily broken up into many small, essentially independent, subproblems. Many Monte Carlo applications are suitable for grid computing environments. In such an enviro ..."
Abstract
 Add to MetaCart
Abstract. Monte Carlo (MC) simulations are considered to be ideal for parallelization because a large Monte Carlo problem can often be easily broken up into many small, essentially independent, subproblems. Many Monte Carlo applications are suitable for grid computing environments. In such an environment, the number of substreams is not known in advance in the computing task. This is a challenge for generating random sequences by using the traditional splitting method, which is aimed at ways of partitioning the full period of a single sequence into parallel substreams. Explicit inversive congruential generator(EICG)[1] with prime modulus has some very compelling properties for parallel Monte Carlo simulations. EICG is an excellent pseudorandom number generator for parallalizing via parameterizing. This paper describes an implementation of parallel random number sequences by varying a set of different parameters instead of splitting a single random sequence. Comparisons with linear and nonlinear generators in the library: SPRNG[2] are presented.