Mersenne Twister Random Number Generation on FPGA, CPU and GPU

被引:37
作者
Tian, Xiang [1 ]
Benkrid, Khaled [1 ]
机构
[1] Univ Edinburgh, Sch Engn, Edinburgh, Midlothian, Scotland
来源
PROCEEDINGS OF THE 2009 NASA/ESA CONFERENCE ON ADAPTIVE HARDWARE AND SYSTEMS | 2009年
关键词
Mersenne Twister; FPGA; random number generator;
D O I
10.1109/AHS.2009.11
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 (R) Math Kernel Library (MKL), as well as on an NVIDIA 8800 GTX CPU. Comparative results show that our FPGA-based implementation outperforms equivalent CPU and CPU implementations by similar to 25x and similar to 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 CPU, respectively.
引用
收藏
页码:460 / 464
页数:5
相关论文
共 11 条
[1]  
[Anonymous], 2008, NVIDIA CUDA COMP UN
[2]  
Chandrasekaran S, 2008, DELTA 2008: FOURTH IEEE INTERNATIONAL SYMPOSIUM ON ELECTRONIC DESIGN, TEST AND APPLICATIONS, PROCEEDINGS, P482, DOI 10.1109/DELTA.2008.113
[3]  
*INT CORP, 2007, INTEL MATH KERN LIB
[4]  
*INT CORP, 2007, INT MATH KERN LIB RE
[5]  
INTEL, 2007, INT MATH KERN LIB VE
[6]  
Matsumoto M, 2000, MONTE CARLO AND QUASI-MONTE CARLO METHODS 1998, P56
[7]  
Matsumoto M, ACM T MODELING COMPU, V8, P3
[8]  
PDLOZHNYUK V, 2008, PARALLEL MERSENNE TW
[9]  
Pellerin D., 2007, FPGA BASED HARDWARE
[10]  
Sriram V, 2006, P INT C ENG REC SYST