Testing unrolling optimization technique for quasi random numbers

Size: px
Start display at page:

Download "Testing unrolling optimization technique for quasi random numbers"

Transcription

1 Testing unrolling optimization technique for quasi random numbers Romain Reuillon David R.C. Hill LIMOS, UMR CNRS 6158 LIMOS, UMR CNRS 6158 Blaise Pascal University Blaise Pascal University ISIMA, Campus des Cézeaux, BP ISIMA, Campus des Cézeaux, BP Aubière Cedex, France Aubière Cedex, France ABSTRACT Quasi Monte Carlo simulations are built on quasi random number generator (QRNG). Even if the use of a QRNG might lead to a faster convergence, for example with Monte Carlo integral computation, most of the simulation time can be taken by the number generation part. This paper present an optimization technique, called unrolling applied to QRNG. It consists in the generation and storage of random numbers in a compiled binary object file. After that, the library is used at the execution time by the simulator. We obtained good gains with Unrolling technique and QRNG, allowing a minimum gain factor of 4 on different computer architectures compared to the Sobol algorithm. KEYWORDS Quasi random numbers, unrolling, optimization, stochastic, simulation 1. Introduction Monte Carlo simulations are stochastic simulations and are always based on a Random Number Generator (RNG). Running the RNG constitutes often a non negligible part of the simulation time. The Unrolling technique is a way to optimize the access to random numbers. This method consists in a pre-generation and storage of random numbers in an array of values. This array is directly included into the binary code during the compilation process. The convoluted RNG algorithm is so bypassed and the numbers are directly picked in sequence in the array. The Unrolling optimization is fully portable and is usable with generators written in any language. This method has been proved to be pretty efficient with small series of pseudo random numbers [Hill 2003]. Another type of generator is very interesting for stochastic simulations : Quasi Random Number Generators (QRNG). QRNG gain time by improving the convergence in numerous simulations [Papageorgiou 2001]. Pseudo-random numbers are well known and some good definitions were known since 1951 (see [Lelhmer 1951] ). Quasi random numbers are a bit different and are also known as low discrepancy sequences, where the discrepancy is considered at the distance to perfect uniformity. This main characteristic helps in fastening convergence and with the lack of replication, quasi Monte Carlo simulations are naturally inclined to be unrolled in arrays stored in random access memory. Since the Van der Corput Sequence in 1935, many other sequences have been studied. The Halton sequence helped in obtaining results for various dimensions [Halton 1960]. In addition to these pioneering quasi-random sequence, the other best known sequences were given in 1960 by Hammersley [Hammersley 1960], in 1967 by Sobol [Sobol 1967, 1976], in 1980 by Faure in his thesis (see [Faure 1993] for details and in 1987 Niederreiter (see [Niederreter 1992]). In this paper we have mainly tested the unrolling technique on the GNU Scientific Library implementation of the Sobol algorithm. This is the fastest known implementation of the Sobol algorithm [Antonov and Saleev 1979], the latter being itself recognized as very interesting to fasten convergence. This implementation is valid up to 40 dimensions but is limited to 1 million drawings. Blaise Pascal University, France 355 OICMS 2005

2 2. Convergence Due to their good covering in N dimensional spaces, quasi random number generators are pretty efficient for integral computation [Jank 2005]. The PI computation is a good example to illustrate the astonish gain in term of convergence speed. In figure 1, QnD, ShNR and MT stand for three different types of Pseudo Random Number Generators (PRNG). They are respectively the Quick and Dirty [Numerical Recipes 1992], a linear congruential generator. The shuffled version of ran2 generator described in Numerical Recipes [Numerical Recipes 1992] and the Mersenne Twister generator of Makoto Matsumoto and Takuji Nishimura [Matsumoto and Nishimura 1997]. We have chosen the quick and dirty because it is a very fast but not very good generator. The two other ones are a lot slower but they provide a pretty good randomness quality. They both have passed the wall DIE HARD battery of tests from George Marsaglia [Marsaglia 1995]. More of that, the Mersenne Twister has a good space covering in 623 dimensions [Matsumoto and Nishimura 1997]. Figure 1 shows clearly that the QRNG allows a quick convergence in comparison to PRNG. It reaches, with only a few hundred million numbers, a precision of 10-7 that any of the PRNG never obtains even with two trillion generated numbers. 0,00E+00 5,00E+08 1,00E+09 1,50E+09 2,00E ,1 Generated numbers 0,01 0,001 0,0001 1E-05 1E-06 1E-07 1E-08 1E-09 QRNG QnD MT ShNR 1E-10 Variation to PI Figure 1 : Convergence comparison 3. Computing Effort QRNGs increase the convergence for integral calculation doesn t necessarily mean that it reduces the computation time. We need to take into account the calculation effort taken to generate low discrepancy sequences and compare it with the one taken to generate pseudo random numbers. The results of figure 2 have been obtained using an Intel Xeon 64 bits 3 GHz with 800 MHz internal bus and with DDR2 400 RAM. Two QRNG have been tested the Sobol [Sobol 1976] and the Neiderreiter [Neiderreiter, Bratley and Fox 1992]. The test consists in measuring the time needed to draw a million numbers with the different generators. Quasi random number generation is not way more resource consuming compared to pseudo random number generation. On our architecture the Sobol QRNG is as fast as the Mesrsenne Twister witch is reputed to be fast for a good PRNG. Blaise Pascal University, France 356 OICMS 2005

3 4. Optimization Figure 2 : Generation time in millisecond for 10 6 numbers on an Intel Xeon 3 GHz The unrolling technique is an optimization method for number generators [Hill 2003]. It consists in calculating in advance a sequence of number and storing it in a file formatted as a static array of a targeted language source code. Next step is to compile this array of numbers to obtain a binary object file, ready to be linked. Finally, the end-user code is linked to the binary file and directly access to the array instead of using a generator. The computation time is so decreased by bypassing the complex calculation of each value by the generator. The full Unrolling optimization process is described in the figure 3. The generation of the optimized generator source code can be done in any target language, independently from the generator language. In order to evaluate the performances of the unrolling method applied to QRNG, we have written several programs. The tests we achieved were done with the C language but the technique is fully portable. To generate the source code with static arrays of random numbers, we have developed a program: QRNGUnroll. This program is able to unroll quasi random number sequences up to 40 dimensions using the Sobol algorithm. The program generates two source files: a header (UQRNG_1.h) and its corresponding implementation (UQRNG_1.c) of the static array of random numbers (the _1 at the end of file names means one dimension). Both files are ready for separate compilation and this compilation is done automatically by the QRNGUnroll program. The result of the separate compilation (UQRNG_1.o) is then linked with the tests or application programs whose source code only includes the header file UQRNG_1.h containing: the declaration of the static array and the macroinstruction designed for accessing quasi random numbers (see appendix). Blaise Pascal University, France 357 OICMS 2005

4 Figure 3: Unrolling optimization process Due to the obligation to compile a big array, the unrolling technique is generally applicable for short and middle size series of number, depending on the amount of memory we own. According to figure 4, a source file containing 5 millions numbers, need 2 Go of random access memory to be compiled with gcc 3.4. Size of the sequence Size of the source code RAM needed to compile / compilation time Size of the binary executable ,3 Mo 24 Mo / 0,6 s 392 Ko Mo 210 Mo / 6 s 3,9 Mo Mo 408 Mo / 12,5 s 7,7 Mo Mo 1,15 Go / half an hour 12 Mo Mo 1,95 Go / several hours 20 Mo Figure 4: Unrolling and Memory Space Occupancy of the Compilation Process Time given on an Intel Xeon 64 bits 3 GHz with 800 MHz internal bus and with DDR2 400 RAM running a Linux Fedora Core 3. For some simulations, using QRNG allows a fast convergence and by consequence requires short sequences, short enough for the unrolling technique to be usable. Furthermore, the quasi Monte Carlo simulations don t imply the use of replications and thus it avoids the use of several uncorrelated sequences. With the unrolling technique we can compile, once for all, a binary object file containing a huge sequence of quasi random numbers. For the two reasons above, we can consider unrolling optimization technique as particularly well adapted for quasi random generation. On the figure 5 the computing time for drawing a ten million numbers with several generators have been measured on different recent computer architectures and compared with an unrolled generator. The precise time is mentioned in millisecond under the graphical view. Each program has been compiled with the GNU C Compiler (gcc 3.4), and with the maximum optimisation level (option O3). Blaise Pascal University, France 358 OICMS 2005

5 Generation Time (ms) Athlon P4 2,8GHz Xeon 3 GHz Sobol Shuffled NR Quick and Dirty Unrolled Figure 5: Generation time of 10 6 numbers Four generators have been tested: the Sobol QRNG, the Shuffled Ran2 and the Quick and Dirty of Numerical Recipes and an unrolled generator. The computer architectures used for the tests are, an AMD Athlon at 900 MHz, a Intel Pentium 4 at 2,8 GHz and an Intel Xeon 64 bits at 3 GHz. The results are pretty convincing. The unrolled generator is always faster than the others. The unrolling technique allows a gain of a 5,5 factor for the Sobol QRNG, 15,8 factor for the Shuffled NR and 2 for the Quick and Dirty on the fastest and newest computer. The Pentium 4 is a bit slower in floating point calculation, that s why it obtains bigger gain factors. In the computer improvement process, the memory speed increase with the CPU efficiency, that why the gain factor tends to be pretty independent of the architecture of the computer. A factor above 5 for the Sobol algorithm is pretty decent and shows how the unrolling is a way of decreasing significantly the computation time of quasi random simulations. 5. Conclusion QRNG allow a fast convergence for integral calculation and thus they also reduce the global calculation time of simulations. In addition, QRNG are as fast as some statistically sound RNG. By decreasing by 5 the generation time for the Sobol algorithm in one dimension, the unrolling optimization technique we proposed, turned out to be pretty efficient on QRNG. The current implementation of the Sobol algorithm, in the GNU Scientific Library, only produces 1 million drawings up to 40 dimensions. The unrolling technique is interesting up to 5 millions drawings on a regular desktop computer. Moreover the unrolling optimization technique is particularly well adapted for Monte Carlo simulations since instead of storing less "efficient" (in terms of convergence) pseudo-random numbers, we can obtain a better precision with the same amount of stored quasi-random numbers. However, for multiple dimensions, QRNG will be harder to optimize with this technique and it is precisely to evaluate multidimensional integrals that such sequences are used at their best (see [Halton 1960] and [L'Ecuyer 2003]). Still dealing with the limits of the unrolling technique, a user has to be aware that it implies: the creation of huge source files, the compilation time can be very long if the compiler has to swap and of course the efficiency of this technique depends on the available Blaise Pascal University, France 359 OICMS 2005

6 RAM and of its access bandwidth. Another point is that the time needed to generate a 40 dimensions quasi randomized n- uple with the Sobol algorithm is only ten times as important as the one needed to generate a unique quasi-random number (for only 1 dimension); thus it is probable that very few gains will be obtained in this case. Solutions have to be explored to address these issues, our next focus will be given to the memory mapping optimization technique. REFERENCES [Antonov and Saleev 1980] I.A Antonov and V.M. Saleev, An economic method of computing LP τ - Sequences, USSR Comput. Maths. Math. Phys. 19 : 252, [Faure 1993] H. Faure, Suggestions for quasi-monte-carlo Users, Lecture Notes in Pure and Applied Math., Marcel Dekker, New York, 141 : , [Halton 1960] J.H. Halton, On the efficiency of certain quasi-monte Carlo sequences of points in evaluating multidimensional integrals, Nummer. Math. 2 : 84-90, [Hammersley 1963] J.M. Hammersley, Monte Carlo methods for solving multivariate problems, Annals of the New-York Academy of Science, 86 : , [Hill 2003] D. R.C. Hill, URNG: A portable optimization technique for software applications requiring pseudo-random numbers, Simulation Modelling Practice and Theory, 11-7,8 : , [Jank 2005] W. Jank: Quasi-Monte Carlo sampling to improve the efficiency of Monte Carlo EM, Computational Statistics & Data Analysis, 48-4 : , [Lehmer 1951] D.H. Lehmer, Good parameters and implementations for combined multiple recursive random number generators, Operation Research, 47-1 : , [L Ecuyer 2003] P. L'Ecuyer, Quasi-monte carlo methods in practice: quasi-monte carlo methods for simulation, Proceedings of the 35th conference on Winter simulation: driving innovation, 2003, pp [Marsaglia 1995] G. Marsaglia, DIEHARD Battery of Tests of Randomness, [Matsumoto and Nishimura 1997] M. Matsumoto and T. Nishimura: Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator, Proceedings of the 29th conference on Winter simulation, 1997, pp [Niederreiter 1992] H. Neiderreiter : "Random Number Generation and Quasi-Monte Carlo Methods" SIAM, CBMS 63, 1992, 241 pp. [Neiderreiter, Bratley and Fox 1992] H. Neiderreiter, P. Bratley and B. L. Fox: Implementation and tests of low-discrepancy sequences, ACM Trans. on Modeling and Computer Simulation, 2 : , 1992 [Numerical Recipes 1992] W. H. Press, S. A. Teukolsky, W. T. Vetterling and B. P. Flannery: Numerical Recipes in C, pp , ISBN , [Papageorgiou 2001] A. Papageorgiou, Fast Convergence of Quasi-Monte Carlo for a Class of Isotropic Integrals, Mathematics of Computation, : , January [Sobol 1967] I. M. Sobol, On the distribution of points in a cube and the approximate evaluation of integrals, USSR Computational Mathematics and Mathematical Physics, 7-4 : , [Sobol 1976] I. M. Sobol, Uniformly distributed sequences with an additional uniform property, USSR Computational Mathematics and Mathematical Physics, 16-5 : , Blaise Pascal University, France 360 OICMS 2005

7 APPENDIX : FILES GENERATED BY THE QRNGUNROLL PROGRAM The following paragraphs show the skeleton of the files (header and source) generated by the QRNGUnroll program with an array of 10 random values with a 1 dimension Sobol QRNG. 1 Header file /************************************************************************** * UQRNGSob_1_10.h * * Unroling method for QRNG * **************************************************************************/ /* Increment the pointer of the size of N doubles, N is equal to the number of dimensions, and return it */ #define NEXT() ( cur += 1 ) #define GET_NEXT_QRN_AT_DIM(d) ( * ( cur + ( d ) ) ) float * cur; void inituqrng(); Fig. A.1: A header file generated by the QRNGUnroll program Blaise Pascal University, France 361 OICMS 2005

8 2 Source file /************************************************************************** * UQRNGSob_1_10.c * **************************************************************************/ #include "UQRNGSob_1_10.h" /* Array of doubles in hexadecimal form */ float tab [] = { 0x1p-1, 0x1.8p-1, 0x1p-2, 0x1.8p-2, 0x1.cp-1, 0x1.4p-1, 0x1p-3, 0x1.8p-3, 0x1.6p-1, 0x1.ep-1, }; /* Initialization of the UQRNG*/ void inituqrng() { cur = ( float * )( tab ); } Fig. A.2 : A source file generated by the QRNGUnroll program Blaise Pascal University, France 362 OICMS 2005

Implementation of the Pseudo-Random Numbers Generators and the Low Discrepancy Sequences

Implementation of the Pseudo-Random Numbers Generators and the Low Discrepancy Sequences 16 pages 1 Implementation of the Pseudo-Random Numbers Generators and the Low Discrepancy Sequences Anne GILLE-GENEST March 1, 2012 Contents 1 Implementation 2 2 Pseudo-Random Numbers Generators 2 2.1

More information

Low Discrepancy Sequences for Monte Carlo Simulations on Reconfigurable Platforms

Low Discrepancy Sequences for Monte Carlo Simulations on Reconfigurable Platforms Low Discrepancy Sequences for Monte Carlo Simulations on Reconfigurable Platforms Ishaan L. Dalal, Deian Stefan and Jared Harwayne-Gidansky The Cooper Union for the Advancement of Science and Art 5 Astor

More information

IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY FPGA

IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY FPGA IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY FPGA Implementations of Tiny Mersenne Twister Guoping Wang Department of Engineering, Indiana University Purdue University Fort

More information

A simple OMNeT++ queuing experiment using different random number generators

A simple OMNeT++ queuing experiment using different random number generators A simple OMNeT++ queuing experiment using different random number generators Bernhard Hechenleitner and Karl Entacher December 5, 2002 Abstract We apply a simple queuing-experiment using parallel streams

More information

BENCHMARK OF THE UNROLLING OF PSEUDORANDOM NUMBERS GENERATORS

BENCHMARK OF THE UNROLLING OF PSEUDORANDOM NUMBERS GENERATORS BENCHMARK OF THE UNROLLING OF PSEUDORANDOM NUMBERS GENERATORS David R.C. Hill Alexandre Roche LIMOS UMR CNRS 6158 Blaise Pascal University ISIMA, Campus des Cézeaux BP 10125 63177 Aubière Cedex FRANCE

More information

PSEUDORANDOM numbers are very important in practice

PSEUDORANDOM numbers are very important in practice Proceedings of the 2013 Federated Conference on Computer Science and Information Systems pp. 515 519 Template Library for Multi- Pseudorandom Number Recursion-based Generars Dominik Szałkowski Institute

More information

SOME NOTES ON MULTIPLICATIVE CONGRUENTIAL RANDOM NUMBER GENERATORS WITH MERSENNE PRIME MODULUS Dr. James Harris*

SOME NOTES ON MULTIPLICATIVE CONGRUENTIAL RANDOM NUMBER GENERATORS WITH MERSENNE PRIME MODULUS Dr. James Harris* JournaCof the South Carolina JLcademy of Science l(l):28-32 Fall 2003 SOME NOTES ON MULTIPLICATIVE CONGRUENTIAL RANDOM NUMBER GENERATORS WITH MERSENNE PRIME MODULUS 2 61-1 Dr. James Harris* *Department

More information

RandomOps. Pseudo-Random Number Generator Source-Code Library for C# The Manual First Edition

RandomOps. Pseudo-Random Number Generator Source-Code Library for C# The Manual First Edition Pseudo-Random Number Generator Source-Code Library for C# The Manual First Edition By Magnus Erik Hvass Pedersen September 2009 Copyright 2009, all rights reserved by the author. Please see page 3 for

More information

A Random Number Based Method for Monte Carlo Integration

A Random Number Based Method for Monte Carlo Integration A Random Number Based Method for Monte Carlo Integration J Wang and G Harrell Department Math and CS, Valdosta State University, Valdosta, Georgia, USA Abstract - A new method is proposed for Monte Carlo

More information

November , Universität Leipzig, CompPhys12

November , Universität Leipzig, CompPhys12 Parallel streams of pseudorandom numbers for Monte Carlo simulations: Using most reliable algorithms and applying parallelism of modern CPUs and GPUs L.Yu. Barash Landau Institute for Theoretical Physics

More information

A PRNG specialized in double precision floating point numbers using an affine transition

A PRNG specialized in double precision floating point numbers using an affine transition A PRNG specialized in double precision floating point numbers using an affine transition Mutsuo Saito and Makoto Matsumoto Abstract We propose a pseudorandom number generator specialized to generate double

More information

For the hardest CMO tranche, generalized Faure achieves accuracy 10 ;2 with 170 points, while modied Sobol uses 600 points. On the other hand, the Mon

For the hardest CMO tranche, generalized Faure achieves accuracy 10 ;2 with 170 points, while modied Sobol uses 600 points. On the other hand, the Mon New Results on Deterministic Pricing of Financial Derivatives A. Papageorgiou and J.F. Traub y Department of Computer Science Columbia University CUCS-028-96 Monte Carlo simulation is widely used to price

More information

Monte Carlo Simulation With The GATE Software Using Grid Computing

Monte Carlo Simulation With The GATE Software Using Grid Computing Monte Carlo Simulation With The GATE Software Using Grid Computing Romain Reuillon, David Hill, Christophe Gouinaud, Z. El Bitar, Vincent Breton, I. Buvat To cite this version: Romain Reuillon, David Hill,

More information

Quasi-Monte Carlo Methods Combating Complexity in Cost Risk Analysis

Quasi-Monte Carlo Methods Combating Complexity in Cost Risk Analysis Quasi-Monte Carlo Methods Combating Complexity in Cost Risk Analysis Blake Boswell Booz Allen Hamilton ISPA / SCEA Conference Albuquerque, NM June 2011 1 Table Of Contents Introduction Monte Carlo Methods

More information

Forrest B. Brown, Yasunobu Nagaya. American Nuclear Society 2002 Winter Meeting November 17-21, 2002 Washington, DC

Forrest B. Brown, Yasunobu Nagaya. American Nuclear Society 2002 Winter Meeting November 17-21, 2002 Washington, DC LA-UR-02-3782 Approved for public release; distribution is unlimited. Title: THE MCNP5 RANDOM NUMBER GENERATOR Author(s): Forrest B. Brown, Yasunobu Nagaya Submitted to: American Nuclear Society 2002 Winter

More information

GENERATION OF PSEUDO-RANDOM NUMBER BY USING WELL AND RESEEDING METHOD. V.Divya Bharathi 1, Arivasanth.M 2

GENERATION OF PSEUDO-RANDOM NUMBER BY USING WELL AND RESEEDING METHOD. V.Divya Bharathi 1, Arivasanth.M 2 GENERATION OF PSEUDO-RANDOM NUMBER BY USING WELL AND RESEEDING METHOD V.Divya Bharathi 1, Arivasanth.M 2 1 PG Scholar, M.E-VLSI Design,Srinivasan Engineering College, Perambalur, TamilNadu, India. 2 Assistant

More information

arxiv: v1 [cs.ds] 12 Oct 2018

arxiv: v1 [cs.ds] 12 Oct 2018 Xorshift1024*, Xorshift1024+, Xorshift128+ and Xoroshiro128+ Fail Statistical Tests for Linearity Daniel Lemire a,, Melissa E. O Neill b arxiv:1810.05313v1 [cs.ds] 12 Oct 2018 a Université du Québec (TELUQ),

More information

Constructing low star discrepancy point sets with genetic algorithms

Constructing low star discrepancy point sets with genetic algorithms Constructing low star discrepancy point sets with genetic algorithms François-Michel De Rainville, Carola Doerr, Christian Gagné, Michael Gnewuch, Denis Laurendeau, Olivier Teytaud, Magnus Wahlström Numerical

More information

Computational Methods. Randomness and Monte Carlo Methods

Computational Methods. Randomness and Monte Carlo Methods Computational Methods Randomness and Monte Carlo Methods Manfred Huber 2010 1 Randomness and Monte Carlo Methods Introducing randomness in an algorithm can lead to improved efficiencies Random sampling

More information

Proposed Pseudorandom Number Generator

Proposed Pseudorandom Number Generator IJSRD National Conference on Technological Advancement and Automatization in Engineering January 2016 ISSN:2321-0613 Mahesh S Naik Research Scholar Shri Jagdishprasad Jhabarmal Tibrewala University, Rajasthan

More information

Linear Congruential Number Generators. A useful, if not important, ability of modern computers is random number

Linear Congruential Number Generators. A useful, if not important, ability of modern computers is random number Jagannath Pisharath Newer Math Fall 2003 Linear Congruential Number Generators A useful, if not important, ability of modern computers is random number generation. Without this ability, if you wanted to,

More information

GPU Optimization of Pseudo Random Number Generators for Random Ordinary Differential Equations

GPU Optimization of Pseudo Random Number Generators for Random Ordinary Differential Equations Interdisciplinary Cluster Workshop on GPUs GPU Optimization of Pseudo Random Number Generators for Random Ordinary Differential Equations C. Riesinger, T. Neckel, F. Rupp, A. Parra and H.-J. Bungartz Technische

More information

PRNG. Generating random numbers Version: Date: 12 March Otmar Lendl Josef Leydold

PRNG. Generating random numbers Version: Date: 12 March Otmar Lendl Josef Leydold PRNG Generating random numbers Version: 3.0.2 Date: 12 March 2001 Otmar Lendl Josef Leydold Copyright 2001 Otmar Lendl (lendl@cosy.sbg.ac.at) Permission is granted to make and distribute verbatim copies

More information

Variants of Mersenne Twister Suitable for Graphic Processors

Variants of Mersenne Twister Suitable for Graphic Processors Variants of Mersenne Twister Suitable for Graphic Processors Mutsuo Saito 1, Makoto Matsumoto 2 1 Hiroshima University, 2 University of Tokyo August 16, 2010 This study is granted in part by JSPS Grant-In-Aid

More information

REPRODUCIBILITY BEGINNER s

REPRODUCIBILITY BEGINNER s Simulation Parallèles Stochastiques Reproductibles? Hill David (Credit : Pierre Schweitzer - Dao Van Toan ) Université Blaise Pascal ISIMA/LIMOS UMR CNRS 6158 REPRODUCIBILITY BEGINNER s 1 Reproducibility?

More information

Intel Performance Libraries

Intel Performance Libraries Intel Performance Libraries Powerful Mathematical Library Intel Math Kernel Library (Intel MKL) Energy Science & Research Engineering Design Financial Analytics Signal Processing Digital Content Creation

More information

A Superconvergent Monte Carlo Method for Multiple Integrals on the Grid

A Superconvergent Monte Carlo Method for Multiple Integrals on the Grid A Superconvergent Monte Carlo Method for Multiple Integrals on the Grid Sofiya Ivanovska, Emanouil Atanassov, and Aneta Karaivanova Institute for Parallel Processing - Bulgarian Academy of Sciences, Acad.

More information

SAC: G: 3-D Cellular Automata based PRNG

SAC: G: 3-D Cellular Automata based PRNG SAC: G: 3-D Cellular Automata based PRNG Rosemary Koikara Kungpook National University School of Computer Science and Engineering Daegu, South Korea rosekoikara@gmail.com ABSTRACT Random numbers are critical

More information

Raj Boppana, Ph.D. Professor and Interim Chair. University of Texas at San Antonio

Raj Boppana, Ph.D. Professor and Interim Chair. University of Texas at San Antonio Raj Boppana, Ph.D. Professor and Interim Chair Computer Science Department University of Texas at San Antonio Terminology RN: pseudorandom number RN stream: a sequence of RNs Cycle: the maximum number

More information

SFMT Pseudo Random Number Generator for Erlang

SFMT Pseudo Random Number Generator for Erlang SFMT Pseudo Random Number Generator for Erlang Kenji Rikitake Institute of Information Management and Communication (IIMC), Kyoto University kenji.rikitake@acm.org Abstract The stock implementation of

More information

Supersedes: S-S-01. (a) acceptance sampling of discrete units presented for inspection in lots;

Supersedes: S-S-01. (a) acceptance sampling of discrete units presented for inspection in lots; Specifications Category: STATISTICAL METHOD Specification: S-S-01 (rev.1) Page: 1 of 13 Specifications for Random Sampling and Randomization 1.0 Scope 1.1 These specifications define algorithms for random

More information

SSJ User s Guide. Package rng Random Number Generators. Version: December 17, 2014

SSJ User s Guide. Package rng Random Number Generators. Version: December 17, 2014 SSJ User s Guide Package rng Random Number Generators Version: December 17, 2014 CONTENTS 1 Contents Overview........................................ 2 RandomStream.....................................

More information

ThreadLocalMRG32k3a: A Statistically Sound Substitute to Pseudorandom Number Generation in Parallel Java Applications

ThreadLocalMRG32k3a: A Statistically Sound Substitute to Pseudorandom Number Generation in Parallel Java Applications ThreadLocalMRG32k3a: A Statistically Sound Substitute to Pseudorandom Number Generation in Parallel Java Applications Jonathan Passerat-Palmbach, Claude Mazel, David Hill To cite this version: Jonathan

More information

Monte Carlo Integration and Random Numbers

Monte Carlo Integration and Random Numbers Monte Carlo Integration and Random Numbers Higher dimensional integration u Simpson rule with M evaluations in u one dimension the error is order M -4! u d dimensions the error is order M -4/d u In general

More information

VARIANCE REDUCTION TECHNIQUES IN MONTE CARLO SIMULATIONS K. Ming Leung

VARIANCE REDUCTION TECHNIQUES IN MONTE CARLO SIMULATIONS K. Ming Leung POLYTECHNIC UNIVERSITY Department of Computer and Information Science VARIANCE REDUCTION TECHNIQUES IN MONTE CARLO SIMULATIONS K. Ming Leung Abstract: Techniques for reducing the variance in Monte Carlo

More information

RESEARCH ARTICLE Software/Hardware Parallel Long Period Random Number Generation Framework Based on the Well Method

RESEARCH ARTICLE Software/Hardware Parallel Long Period Random Number Generation Framework Based on the Well Method International Journal of Advances in Engineering, 2015, 1(3), 84-89 ISSN: 2394-9260 (printed version); ISSN: 2394-9279 (online version); url:http://www.ijae.in RESEARCH ARTICLE Software/Hardware Parallel

More information

Sampling with Hammersley and Halton Points

Sampling with Hammersley and Halton Points Sampling with Hammersley and Halton Points Tien-Tsin Wong The Chinese University of Hong Kong Wai-Shing Luk Katholieke Universiteit Leuven Pheng-Ann Heng The Chinese University of Hong Kong Abstract. The

More information

is bad when combined with a LCG with a small multiplier. In section 2 this observation is examined. Section 3 gives portable implementations for LCGs

is bad when combined with a LCG with a small multiplier. In section 2 this observation is examined. Section 3 gives portable implementations for LCGs Version: 25.11.92 (To appear in ACM TOMS) A Portable Uniform Random Number Generator Well Suited for the Rejection Method W. Hormann and G. Deringer University of Economics and Business Administration

More information

arxiv: v1 [cs.cv] 6 Jun 2017

arxiv: v1 [cs.cv] 6 Jun 2017 Volume Calculation of CT lung Lesions based on Halton Low-discrepancy Sequences Liansheng Wang a, Shusheng Li a, and Shuo Li b a Department of Computer Science, Xiamen University, Xiamen, China b Dept.

More information

Intel Math Kernel Library 11.0 Update 5 Vector Statistical Library Notes

Intel Math Kernel Library 11.0 Update 5 Vector Statistical Library Notes Intel Math Kernel Library 11.0 Update 5 Vector Statistical Library Notes Document Number: 310714-028US Contents Legal Information... 5 Introduction... 7 About This Library... 7 About This Document... 7

More information

An Implementation of a 5-term GFSR Random Number Generator for Parallel Computations

An Implementation of a 5-term GFSR Random Number Generator for Parallel Computations The Eighth International Symposium on Operations Research and Its Applications (ISORA 9) Zhangjiajie, China, September 2 22, 29 Copyright 29 ORSC & APORC, pp. 448 452 An Implementation of a 5-term GFSR

More information

A PARALLEL RANDOM NUMBER GENERATOR FOR SHARED MEMORY ARCHITECTURE MACHINE USING OPENMP

A PARALLEL RANDOM NUMBER GENERATOR FOR SHARED MEMORY ARCHITECTURE MACHINE USING OPENMP A PARALLEL RANDOM NUMBER GENERATOR FOR SHARED MEMORY ARCHITECTURE MACHINE USING OPENMP Sayed Ahmed Department of Computer Science University of Manitoba, Canada email:sayed@cs.umanitoba.ca Rasit Eskicioglu

More information

A Survey and Empirical Comparison of Modern Pseudo-Random Number Generators for Distributed Stochastic Simulations

A Survey and Empirical Comparison of Modern Pseudo-Random Number Generators for Distributed Stochastic Simulations A Survey and Empirical Comparison of Modern Pseudo-Random Number Generators for Distributed Stochastic Simulations Marcus Schoo Krzysztof Pawlikowski Department of Computer Science and Software Engineering

More information

CryptMT Stream Cipher Ver. 3: Description

CryptMT Stream Cipher Ver. 3: Description CryptMT Stream Cipher Ver. 3: Description Makoto Matsumoto 1, Mutsuo Saito 2, Takuji Nishimura 3, and Mariko Hagita 4 1 Dept. of Math., Hiroshima University, m-mat@math.sci.hiroshima-u.ac.jp 2 Dept. of

More information

Compressive Sensing Matrix Generation by Random Methods

Compressive Sensing Matrix Generation by Random Methods Compressive Sensing Matrix Generation by Random Methods Charles Drake Poole December, 00 Abstract Compressed sensing is a method of recovering interesting images from sparse sampling. To get an ideal reconstruction

More information

Accuracy estimation for quasi-monte Carlo simulations

Accuracy estimation for quasi-monte Carlo simulations Mathematics and Computers in Simulation 54 (2000) 131 143 Accuracy estimation for quasi-monte Carlo simulations William C. Snyder SRI International, 333 Ravenswood Ave., Menlo Park, CA 94025, USA Accepted

More information

arxiv:hep-ph/ v1 2 Sep 2005

arxiv:hep-ph/ v1 2 Sep 2005 arxiv:hep-ph/0509016v1 2 Sep 2005 The Cuba Library T. Hahn Max-Planck-Institut für Physik Föhringer Ring 6, D 80805 Munich, Germany Concepts and implementation of the Cuba library for multidimensional

More information

arxiv: v1 [cs.dc] 2 Aug 2011

arxiv: v1 [cs.dc] 2 Aug 2011 High-Performance Pseudo-Random Number Generation on Graphics Processing Units Nimalan Nandapalan 1, Richard P. Brent 1,2, Lawrence M. Murray 3, and Alistair Rendell 1 1 Research School of Computer Science,

More information

Extending OPNET Modeler with External Pseudo Random Number Generators and Statistical Evaluation by the Limited Relative Error Algorithm

Extending OPNET Modeler with External Pseudo Random Number Generators and Statistical Evaluation by the Limited Relative Error Algorithm Becker, M.; Weerawardane, T.L.; Li, X.; Görg, C.: Etending OPNET Modeler with Eternal Pseudo Services. Springer, 27 Etending OPNET Modeler with Eternal Pseudo Random Number Generators and Statistical Evaluation

More information

7.7 Quasi- (that is, Sub-) Random Sequences

7.7 Quasi- (that is, Sub-) Random Sequences 77 Quasi- (that is, Sub-) Random Sequences 299 If you think for a minute, you will realize that equation (767) was useful only because the part of the integrand that we wanted to eliminate (e 5z ) was

More information

Parallel Implementation of the NIST Statistical Test Suite

Parallel Implementation of the NIST Statistical Test Suite Parallel Implementation of the NIST Statistical Test Suite Alin Suciu, Iszabela Nagy, Kinga Marton, Ioana Pinca Computer Science Department Technical University of Cluj-Napoca Cluj-Napoca, Romania Alin.Suciu@cs.utcluj.ro,

More information

lucille: Open Source Global Illumination Renderer

lucille: Open Source Global Illumination Renderer lucille: Open Source Global Illumination Renderer http://lucille.sourceforge.net Masahiro Fujita Keio University Graduate School of Media and Governance email: syoyo@sfc.keio.ac.jp Takashi Kanai Keio University

More information

Automation of Electro-Hydraulic Routing Design using Hybrid Artificially-Intelligent Techniques

Automation of Electro-Hydraulic Routing Design using Hybrid Artificially-Intelligent Techniques Automation of Electro-Hydraulic Routing Design using Hybrid Artificially-Intelligent Techniques OLIVER Q. FAN, JOHN P. SHACKLETON, TATIANA KALGONOVA School of engineering and design Brunel University Uxbridge

More information

Monte Carlo Simulations on Xeon Phi: Offload and Native Mode

Monte Carlo Simulations on Xeon Phi: Offload and Native Mode Western Michigan University ScholarWorks at WMU Master's Theses Graduate College 5-2015 Monte Carlo Simulations on Xeon Phi: Offload and Native Mode Bryar Shareef Western Michigan University, bryarmustafa@gmail.com

More information

Parallel Galton Watson Process

Parallel Galton Watson Process Parallel Galton Watson Process Olivier Bodini, Camille Coti, and Julien David LIPN, CNRS UMR 7030, Université Paris 3, Sorbonne Paris Cité 99, avenue Jean-Baptiste Clément, F-93430 Villetaneuse, FRANCE

More information

School of Computer and Information Science

School of Computer and Information Science School of Computer and Information Science CIS Research Placement Report Multiple threads in floating-point sort operations Name: Quang Do Date: 8/6/2012 Supervisor: Grant Wigley Abstract Despite the vast

More information

arxiv: v3 [cs.cr] 18 Jan 2019

arxiv: v3 [cs.cr] 18 Jan 2019 Middle Square Weyl Sequence RNG Bernard Widynski 1 January 21, 2019 arxiv:1704.00358v3 [cs.cr] 18 Jan 2019 Abstract In this article, we propose a new implementation of John von Neumann s middle square

More information

NAG Library Function Document nag_quasi_init_scrambled (g05ync)

NAG Library Function Document nag_quasi_init_scrambled (g05ync) NAG Library Function Document nag_quasi_init_scrambled () 1 Purpose nag_quasi_init_scrambled () initializes a scrambled quasi-random generator prior to calling nag_quasi_rand_normal (g05yjc), nag_quasi_rand_lognormal

More information

RANDOM NUMBERS GENERATION

RANDOM NUMBERS GENERATION Chapter 4 RANDOM NUMBERS GENERATION M. Ragheb 10/2/2015 4.1. INTRODUCTION The use and generation of random numbers uniformly distributed over the unit interval: [0, 1] is a unique feature of the Monte

More information

RANDOM NUMBERS GENERATION

RANDOM NUMBERS GENERATION Chapter 4 RANDOM NUMBERS GENERATION M. Ragheb 9//2013 4.1. INTRODUCTION The use and generation of random numbers uniformly distributed over the unit interval: [0, 1] is a unique feature of the Monte Carlo

More information

Ray Tracing and Irregularities of Distribution

Ray Tracing and Irregularities of Distribution Ray Tracing and Irregularities of Distribution Don P. Mitchell AT&T Bell Laboratories Murray Hill, NJ ABSTRACT Good sampling patterns for ray tracing have been proposed, based on the theories of statistical

More information

Monte Carlo Simulations

Monte Carlo Simulations Monte Carlo Simulations Lecture 2 December 8, 2014 Outline 1 Random Number Generation 2 Uniform Random Variables 3 Normal Random Variables 4 Correlated Random Variables Random Number Generation Monte Carlo

More information

Halftoning and quasi-monte Carlo

Halftoning and quasi-monte Carlo Halftoning and quasi-monte Carlo Ken Hanson CCS-2, Methods for Advanced Scientific Simulations Los Alamos National Laboratory This presentation available at http://www.lanl.gov/home/kmh/ LA-UR-04-1854

More information

7.7 Quasi- (that is, Sub-) Random Sequences

7.7 Quasi- (that is, Sub-) Random Sequences 77 Quasi- (that is, Sub-) Random Sequences 39 CITED REFERENCES AND FURTHER READING: Hammersley, JM, and Handscomb, DC 1964, Monte Carlo Methods (London: Methuen) Shreider, Yu A (ed) 1966, The Monte Carlo

More information

CSC 121 Computers and Scientific Thinking

CSC 121 Computers and Scientific Thinking CSC 121 Computers and Scientific Thinking David Reed Creighton University Computer Basics 1 What is a Computer? a computer is a device that receives, stores, and processes information different types of

More information

Analysis of Cryptography and Pseudorandom Numbers

Analysis of Cryptography and Pseudorandom Numbers ISSN: 2454-2377 Volume 2, Issue 2, June 2016 Analysis of Cryptography and Pseudorandom Numbers Richa Agarwal Student, M. Tech., Computer Science, Invertis University, Bareilly, India Abstract: With the

More information

Scientific Computing: An Introductory Survey

Scientific Computing: An Introductory Survey Scientific Computing: An Introductory Survey Chapter 13 Random Numbers and Stochastic Simulation Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright

More information

Porting Financial Market Applications to the Cell Broadband Engine Architecture

Porting Financial Market Applications to the Cell Broadband Engine Architecture Porting Financial Market Applications to the Cell Broadband Engine Architecture John Easton, Ingo Meents, Olaf Stephen, Horst Zisgen, Sei Kato Presented By: Kanik Sem Dept of Computer & Information Sciences

More information

Java Performance Analysis for Scientific Computing

Java Performance Analysis for Scientific Computing Java Performance Analysis for Scientific Computing Roldan Pozo Leader, Mathematical Software Group National Institute of Standards and Technology USA UKHEC: Java for High End Computing Nov. 20th, 2000

More information

A New Quasi-Monte Carlo Algorithm for Numerical Integration of Smooth Functions

A New Quasi-Monte Carlo Algorithm for Numerical Integration of Smooth Functions A New Quasi-Monte Carlo Algorithm for Numerical Integration of Smooth Functions Emanouil I. Atanassov, Ivan T. Dimov, and Mariya K. Durchova Central Laboratory for Parallel Processing, Bulgarian Academy

More information

Warp-Level Parallelism: Enabling Multiple Replications In Parallel on GPU

Warp-Level Parallelism: Enabling Multiple Replications In Parallel on GPU Warp-Level Parallelism: Enabling Multiple Replications In Parallel on GPU Jonathan Passerat-Palmbach, Jonathan Caux, Pridi Siregar, Claude Mazel, David Hill To cite this version: Jonathan Passerat-Palmbach,

More information

6. Pointers, Structs, and Arrays. 1. Juli 2011

6. Pointers, Structs, and Arrays. 1. Juli 2011 1. Juli 2011 Einführung in die Programmierung Introduction to C/C++, Tobias Weinzierl page 1 of 50 Outline Recapitulation Pointers Dynamic Memory Allocation Structs Arrays Bubble Sort Strings Einführung

More information

Optimization solutions for the segmented sum algorithmic function

Optimization solutions for the segmented sum algorithmic function Optimization solutions for the segmented sum algorithmic function ALEXANDRU PÎRJAN Department of Informatics, Statistics and Mathematics Romanian-American University 1B, Expozitiei Blvd., district 1, code

More information

Technical Brief: Specifying a PC for Mascot

Technical Brief: Specifying a PC for Mascot Technical Brief: Specifying a PC for Mascot Matrix Science 8 Wyndham Place London W1H 1PP United Kingdom Tel: +44 (0)20 7723 2142 Fax: +44 (0)20 7725 9360 info@matrixscience.com http://www.matrixscience.com

More information

A Case Study on Earliness/Tardiness Scheduling by Constraint Programming

A Case Study on Earliness/Tardiness Scheduling by Constraint Programming A Case Study on Earliness/Tardiness Scheduling by Constraint Programming Jan Kelbel, Zdeněk Hanzálek Department of Control Engineering, Faculty of Electrical Engineering Czech Technical University in Prague

More information

The p-sized partitioning algorithm for fast computation of factorials of numbers

The p-sized partitioning algorithm for fast computation of factorials of numbers J Supercomput (2006) 38:73 82 DOI 10.1007/s11227-006-7285-5 The p-sized partitioning algorithm for fast computation of factorials of numbers Ahmet Ugur Henry Thompson C Science + Business Media, LLC 2006

More information

Hierarchical Addressing and Routing Mechanisms for Distributed Applications over Heterogeneous Networks

Hierarchical Addressing and Routing Mechanisms for Distributed Applications over Heterogeneous Networks Hierarchical Addressing and Routing Mechanisms for Distributed Applications over Heterogeneous Networks Damien Magoni Université Louis Pasteur LSIIT magoni@dpt-info.u-strasbg.fr Abstract. Although distributed

More information

NUMA replicated pagecache for Linux

NUMA replicated pagecache for Linux NUMA replicated pagecache for Linux Nick Piggin SuSE Labs January 27, 2008 0-0 Talk outline I will cover the following areas: Give some NUMA background information Introduce some of Linux s NUMA optimisations

More information

COMP Data Structures

COMP Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. 1 / 35 Introduction Introduction 1 / 35 Introduction In a Glance... Data structures are building blocks for designing

More information

COMP Data Structures

COMP Data Structures COMP 2140 - Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. COMP 2140 - Data Structures 1 / 35 Introduction COMP 2140 - Data Structures 1 / 35

More information

Monte Carlo integration

Monte Carlo integration Monte Carlo integration Introduction Monte Carlo integration is a quadrature (cubature) where the nodes are chosen randomly. Typically no assumptions are made about the smoothness of the integrand, not

More information

Efficient pseudo-random number generation for monte-carlo simulations using graphic processors

Efficient pseudo-random number generation for monte-carlo simulations using graphic processors Journal of Physics: Conference Series Efficient pseudo-random number generation for monte-carlo simulations using graphic processors To cite this article: Siddhant Mohanty et al 2012 J. Phys.: Conf. Ser.

More information

CS 179: GPU Computing. Lecture 16: Simulations and Randomness

CS 179: GPU Computing. Lecture 16: Simulations and Randomness CS 179: GPU Computing Lecture 16: Simulations and Randomness Simulations South Bay Simulations, http://www.panix.com/~brosen/graphics/iacc.400.jpg Exa Corporation, http://www.exa.com/images/f16.png Flysurfer

More information

TaskLocalRandom: A Statistically Sound Substitute to Pseudorandom Number Generation in Parallel Java Tasks Frameworks

TaskLocalRandom: A Statistically Sound Substitute to Pseudorandom Number Generation in Parallel Java Tasks Frameworks TaskLocalRandom: A Statistically Sound Substitute to Pseudorandom Number Generation in Parallel Java Tasks Frameworks Jonathan Passerat-Palmbach, Claude Mazel, David Hill To cite this version: Jonathan

More information

Progressive Sampling Strategies for Disk Light Sources

Progressive Sampling Strategies for Disk Light Sources Progressive Sampling Strategies for Disk Light Sources Per Christensen Pixar Technical Memo #18-02 June 2018 Pixar Animation Studios Figure 1: The first 4, 8, 16, 32, and 64 samples from a progressive

More information

RUBY IS A PURE OBJECT-ORIENTED interpreted language.

RUBY IS A PURE OBJECT-ORIENTED interpreted language. Proceedings of the Federated Conference on Computer Science and Information Systems pp. 947 952 DOI: 10.15439/2015F99 ACSIS, Vol. 5 Ruby Benchmark Tool using Docker Richard Ludvigh, Tomáš Rebok Faculty

More information

Stochastic Function Norm Regularization of DNNs

Stochastic Function Norm Regularization of DNNs Stochastic Function Norm Regularization of DNNs Amal Rannen Triki Dept. of Computational Science and Engineering Yonsei University Seoul, South Korea amal.rannen@yonsei.ac.kr Matthew B. Blaschko Center

More information

Lecture 7: Monte Carlo Rendering. MC Advantages

Lecture 7: Monte Carlo Rendering. MC Advantages Lecture 7: Monte Carlo Rendering CS 6620, Spring 2009 Kavita Bala Computer Science Cornell University MC Advantages Convergence rate of O( ) Simple Sampling Point evaluation Can use black boxes General

More information

RNG: definition. Simulating spin models on GPU Lecture 3: Random number generators. The story of R250. The story of R250

RNG: definition. Simulating spin models on GPU Lecture 3: Random number generators. The story of R250. The story of R250 Simulating spin models on GPU Lecture 3: Random number generators Martin Weigel Applied Mathematics Research Centre, Coventry University, Coventry, United Kingdom and Institut für Physik, Johannes Gutenberg-Universität

More information

KLOE software on Linux

KLOE software on Linux KLOE software on Linux Offline review L.N.F. March 16, 2001 C. Bloise, P. Valente Linux box : Minimal requirements apentium class PC (Intel Pentium, PII, PIII or AMD K6,K7) RAM and local disk sufficient

More information

Skewed-Associative Caches: CS752 Final Project

Skewed-Associative Caches: CS752 Final Project Skewed-Associative Caches: CS752 Final Project Professor Sohi Corey Halpin Scot Kronenfeld Johannes Zeppenfeld 13 December 2002 Abstract As the gap between microprocessor performance and memory performance

More information

Random-Number Generation

Random-Number Generation Random-Number Generation Overview Desired properties of a good generator Linear-congruential generators Tausworthe generators Survey of random number generators Seed selection Myths about random number

More information

7/28/ Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc.

7/28/ Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc. Technology in Action Technology in Action Chapter 9 Behind the Scenes: A Closer Look a System Hardware Chapter Topics Computer switches Binary number system Inside the CPU Cache memory Types of RAM Computer

More information

Self-calibration of telecentric lenses : application to bubbly flow using moving stereoscopic camera.

Self-calibration of telecentric lenses : application to bubbly flow using moving stereoscopic camera. Self-calibration of telecentric lenses : application to bubbly flow using moving stereoscopic camera. S. COUDERT 1*, T. FOURNEL 1, J.-M. LAVEST 2, F. COLLANGE 2 and J.-P. SCHON 1 1 LTSI, Université Jean

More information

GENERATING RANDOM NUMBERS IN APL

GENERATING RANDOM NUMBERS IN APL GENERATING RANDOM NUMBERS IN APL by Thomas N. Herzog Loyola College of Baltimore 99 . ~.....-:- 100 APL is a vector-matrix based computer programming language which is a powerful tool for solving actuarial

More information

AMD RANDOM NUMBER GENERATOR Library. Version 0.9 Beta

AMD RANDOM NUMBER GENERATOR Library. Version 0.9 Beta AMD RANDOM NUMBER GENERATOR Library Version 0.9 Beta DISLAIMER The information contained herein is for informational purposes only, and is subject to change without notice. While every precaution has been

More information

arxiv: v1 [physics.comp-ph] 22 May 2010

arxiv: v1 [physics.comp-ph] 22 May 2010 arxiv:1005.4117v1 [physics.comp-ph] 22 May 2010 Lecture given at the International Summer School Modern Computational Science (August 9-20, 2010, Oldenburg, Germany) Random Numbers in Scientific Computing:

More information

ALGORITHM 659 Implementing Sobol s Quasirandom Sequence Generator

ALGORITHM 659 Implementing Sobol s Quasirandom Sequence Generator ALGORITHM 659 Implementing Sobol s Quasirandom Sequence Generator PAUL BRATLEY and BENNETT L. FOX Universite de Montrkal We compare empirically accuracy and speed of low-discrepancy sequence generators

More information

CSC180: Lecture 2. Wael Aboulsaadat.

CSC180: Lecture 2. Wael Aboulsaadat. CSC180: Lecture 2 Wael Aboulsaadat wael@cs.toronto.edu http://portal.utoronto.ca/ Acknowledgement: These slides are partially based on the slides supplied with Prof. Savitch book: Problem Solving with

More information

More advanced CPUs. August 4, Howard Huang 1

More advanced CPUs. August 4, Howard Huang 1 More advanced CPUs In the last two weeks we presented the design of a basic processor. The datapath performs operations on register and memory data. A control unit translates program instructions into

More information