Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Computational Science, Engineering & Technology Series
PATTERNS FOR PARALLEL PROGRAMMING ON GPUS
Edited by: F. Magoulès
Testing Random Numbers: When OpenCL is the Right Choice
J.M. Chauvet and E. Mahé
MassiveRand Corporation, Boulogne, France
J.M. Chauvet, E. Mahé, "Testing Random Numbers: When OpenCL is the Right Choice", in F. Magoulès, (Editor), "Patterns for Parallel Programming on GPUs", Saxe-Coburg Publications, Stirlingshire, UK, Chapter 13, pp 311-326, 2014. doi:10.4203/csets.34.13
Keywords: hardware accelerators, portability, parallel programming, random number test.
Testing random numbers relies on a heavy battery of statistical tests that can take hours of computing for small samplings of numbers. Our main goal is to demystify this slow checking process by showing the parallel nature of two representative tests and how to port them on OpenCL capable architectures. Concepts will be illustrated with two examples of test codes translated from C to OpenCL. Portability across the latest version of commercial processors exposing radically different model of parallelism is achieved. Benchmarks will be provided to compare CPU and GPU, the influence of the number of threads in blocks and CUDA vs OpenCL performances. This work, taken in the context of testing the quality of the true random number generator (TRNG) invented and patented by MassiveRand, is related to an OpenCL port of the complete NIST test suite on GPU and CPU and provides a totally new and safe way of dealing with RNG.
purchase the full-text of this chapter (price £20)