Chapter 16. Parallelization Techniques for Random Number Generators
Thomas Bradley, Jacques du Toit, Robert Tong, Mike Giles and Paul Woodhams
In this chapter, we discuss the parallelization of three very popular random number generators. In each case, the random number sequence that is generated is identical to that produced on a CPU by the standard sequential algorithm. The key to the parallelization is that each CUDA thread block generates a particular block of numbers within the original sequence, and to do this step, it needs an efficient skip-ahead algorithm to jump to the start of its block.
Although the general approach is the same in the three cases, there are significant differences in the details of the implementation owing to differences ...