RNGAVXLIB: Program library for random number generation, AVX realization
Abstract
We present the random number generator (RNG) library RNGAVXLIB, which contains fast AVX realizations of a number of modern random number generators, and also the abilities to jump ahead inside a RNG sequence and to initialize up to 1019 independent random number streams with block splitting method. Fast AVX implementations produce exactly the same output sequences as the original algorithms. Usage of AVX vectorization allows to substantially improve performance of the generators. The new realizations are up to 2 times faster than the SSE realizations implemented in the previous version of the library (Barash and Shchur, 2013), and up to 40 times faster compared to the original algorithms written in ANSI C.
- Publication:
-
Computer Physics Communications
- Pub Date:
- March 2016
- DOI:
- 10.1016/j.cpc.2015.11.001
- Bibcode:
- 2016CoPhC.200..402G
- Keywords:
-
- Statistical methods;
- Monte Carlo;
- Random number generation;
- Advanced Vector Extensions (AVX)