ABSTRACT
Previously either due to hardware GPU limits or older versions of software, careful implementation of PRNGs was required to make good use of the limited numerical precision available on graphics cards. Newer nVidia G80 and Tesla hardware support double precision. This is available to high level programmers via CUDA. This allows a much simpler C++ implementation of Park-Miller random numbers, which provides a four fold speed up compared to an earlier GPU implementation. Code is available via http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/gp-code/random-numbers/cuda_park-miller.tar.gz
- Gulati, K., and Khatri, S. P. Accelerating statistical static timing analysis using graphics processing units. In ASP-DAC '09: Proceedings of the 2009 Conference on Asia and South Pacific Design Automation (Yokohama), Japan, 2009), IEEE Press, pp. 260--265. Google Scholar
Digital Library
- Harding, S. L., and Banzhaf, W. Fast genetic programming and artificial developmental systems on GPUs. In 21st International Symposium on High Performance Computing Systems and Applications (HPCS'07) (Canada, 2007), IEEE Computer Society, p. 2. Google Scholar
Digital Library
- Howes, L., and Thomas, D. Efficient random number generation and application using CUDA. In GPU Gems 3, H. Nguyen, Ed. nVidia, 2007, ch. 37.Google Scholar
- Knuth, D. E. The Art of Computer Programming, 2nd ed., vol. 2 Seminumerical Algorithms. Addison-Wesley, 1981. Google Scholar
Digital Library
- Langdon, W. B. A fast high quality pseudo random number generator for graphics processing units. In 2008 IEEE World Congress on Computational Intelligence (Hong Kong), 1-6 June 2008), J. Wang, Ed., IEEE, pp. 459--465.Google Scholar
Cross Ref
- Li, H., and Petzold, L. R. Stochastic simulation of biochemical systems on the graphics processing unit. Submitted 2007.Google Scholar
- Lindholm, E., Nickolls, J., Oberman, S., and Montrym, J. NVIDIA Tesla: A unified graphics and computing architecture. IEEE Micro, 28, 2 (March-April 2008), 39--55. Google Scholar
Digital Library
- Pang, Wai-Man, Wong, Tien-Tsin, and Heng, Pheng-Ann Generating massive high-quality random numbers using GPU. In 2008 IEEE World Congress on Computational Intelligence (Hong Kong, 1-6 June 2008), J. Wang, Ed., IEEE Computational Intelligence Society, IEEE Press.Google Scholar
Cross Ref
- Park, S. K., and Miller, K. W. Random number generators: Good ones are hard to find. Communications of the ACM 32, 10 (Oct 1988), 1192--1201. Google Scholar
Digital Library
- Warden, P. Random numbers in fragment programs, 10 May 2005. Accessed 24 March 2009.Google Scholar
- Wong, Tien-Tsin, Wong, Man-Leung, and Fok, Ka-Ling Why current GPU is no good for high-quality random numbers generation? http://www.cs.cuhk.edu.hk/ttwong/software/ecgpu/ecgpu.html epgpu version 0.99. Accessed 24 March 2009.Google Scholar
Index Terms
A fast high quality pseudo random number generator for nVidia CUDA
Recommendations
NVIDIA Tesla: A Unified Graphics and Computing Architecture
To enable flexible, programmable graphics and high-performance computing, NVIDIA has developed the Tesla scalable unified graphics and parallel computing architecture. Its scalable parallel array of processors is massively multithreaded and programmable ...
RankBoost Acceleration on both NVIDIA CUDA and ATI Stream Platforms
ICPADS '09: Proceedings of the 2009 15th International Conference on Parallel and Distributed SystemsNVIDIA CUDA and ATI Stream are the two major general-purpose GPU (GPGPU) computing technologies. We implemented RankBoost, a web relevance ranking algorithm, on both NVIDIA CUDA and ATI Stream platforms to accelerate the algorithm and illustrate the ...
A performance study of general-purpose applications on graphics processors using CUDA
Graphics processors (GPUs) provide a vast number of simple, data-parallel, deeply multithreaded cores and high memory bandwidths. GPU architectures are becoming increasingly programmable, offering the potential for dramatic speedups for a variety of ...






Comments