Testing unrolling optimization technique for quasi random numbers
|
|
- Neal Owens
- 5 years ago
- Views:
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
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 informationLow 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 informationIJESRT 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 informationA 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 informationBENCHMARK 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 informationPSEUDORANDOM 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 informationSOME 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 informationRandomOps. 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 informationA 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 informationNovember , 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 informationA 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 informationFor 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 informationMonte 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 informationQuasi-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 informationForrest 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 informationGENERATION 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 informationarxiv: 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 informationConstructing 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 informationComputational 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 informationProposed 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 informationLinear 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 informationGPU 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 informationPRNG. 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 informationVariants 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 informationREPRODUCIBILITY 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 informationIntel 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 informationA 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 informationSAC: 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 informationRaj 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 informationSFMT 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 informationSupersedes: 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 informationSSJ 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 informationThreadLocalMRG32k3a: 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 informationMonte 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 informationVARIANCE 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 informationRESEARCH 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 informationSampling 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 informationis 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 informationarxiv: 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 informationIntel 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 informationAn 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 informationA 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 informationA 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 informationCryptMT 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 informationCompressive 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 informationAccuracy 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 informationarxiv: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 informationarxiv: 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 informationExtending 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 information7.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 informationParallel 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 informationlucille: 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 informationAutomation 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 informationMonte 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 informationParallel 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 informationSchool 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 informationarxiv: 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 informationNAG 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 informationRANDOM 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 informationRANDOM 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 informationRay 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 informationMonte 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 informationHalftoning 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 information7.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 informationCSC 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 informationAnalysis 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 informationScientific 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 informationPorting 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 informationJava 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 informationA 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 informationWarp-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 information6. 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 informationOptimization 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 informationTechnical 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 informationA 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 informationThe 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 informationHierarchical 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 informationNUMA 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 informationCOMP 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 informationCOMP 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 informationMonte 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 informationEfficient 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 informationCS 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 informationTaskLocalRandom: 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 informationProgressive 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 informationRUBY 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 informationStochastic 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 informationLecture 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 informationRNG: 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 informationKLOE 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 informationSkewed-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 informationRandom-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 information7/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 informationSelf-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 informationGENERATING 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 informationAMD 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 informationarxiv: 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 informationALGORITHM 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 informationCSC180: 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 informationMore 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