Abstract

In order to build a high performance communication link simulation platform, random number streams with high throughput and good randomness properties are required. In this paper, we investigate high throughput pseudo random number generators (PRNGs) on CUDA enabled GPUs for computer based simulation tasks. We propose a new low complexity and hardware friendly PRNG algorithm with a reasonably long period of 2128-1. In the algorithm, we generate random numbers on the CPU by using MT19937 PRNG, which are used as seeds for the PRNGs running on the GPU. Low complexity and memory efficient xorshift algorithm is employed on the GPU to generate random numbers in an iterative manner. We analyze the computation complexity and memory requirements of our proposed PRNG and benchmark PRNGs. Experiment results demonstrate that our proposed PRNG achieves a 23.8 Tbps throughput in generating uniformly distributed binary random sequences, which is 49% higher than that achieved by the Warp PRNG on the same GPU. In addition, the generated binary random sequences pass the NIST randomness tests.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call