A hardware efficient random number generator for nonuniform distributions with arbitrary precision
International Journal of Reconfigurable Computing - Special issue on Selected Papers from the International Conference on Reconfigurable Computing and FPGAs (ReConFig'10)
Pseudo Random Number Generation for Parallelized Jobs on Clusters
CCGRID '12 Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012)
Variants of Mersenne Twister Suitable for Graphic Processors
ACM Transactions on Mathematical Software (TOMS)
High Performance FPGA-oriented Mersenne Twister Uniform Random Number Generator
Journal of Signal Processing Systems
FPGA acceleration using high-level languages of a Monte-Carlo method for pricing complex options
Journal of Systems Architecture: the EUROMICRO Journal
Use of GPU computing for uncertainty quantification in computational mechanics: A case study
Scientific Programming
Hi-index | 0.00 |
Random number generation is a very important operation in computational science e.g. in Monte Carlo simulations methods. It is also a computationally intensive operation especially for high quality random number generation. In this paper, we present the design and implementation of a parallel implementation of one of the most widely used random number generators, namely the Mersenne Twister. The latter is very widely used in high performance computing applications such as financial computing. Implementations of our parallel Mersenne Twister number generator core on Xilinx Virtex4 FPGAs achieve a throughput of 26.13 billion random samples per second. The paper also reports equivalent parallel software implementations running on an Intel Core 2 Quad Q9300 CPU with 8 GB RAM, using multi-threading technology and the Intel® Math Kernel Library (MKL), as well as on an NVIDIA 8800 GTX GPU. Comparative results show that our FPGA-based implementation outperforms equivalent CPU and GPU implementations by ~25x and ~9x respectively. Moreover, when using the same amount of energy, the FPGA can generate 37x and 35x more Mersenne Twister random samples than the CPU and the GPU, respectively.