Quick Sub-Stream Parallelization For oneMKL MRG32k3a RNG

A high-performance math library that offers optimized functions for mathematical computations is the Intel oneAPI Math Kernel Library

For more complex use cases, a popular approach for producing pseudo-random numbers is the MRG32k3a random number generator

The addition of a sub-sequence parallelization technique for the MRG32k3a random number generator to oneMKL is presented in this article

The skip-ahead technique is used to divide the generation process evenly among threads in the conventional implementation of MRG32k3a random number parallelization

MRG32k3a generator can be divided into sub-sequences with a displacement of 2^67 elements, which can then be recombined without producing any correlation in the final sequence

OneMKL’s MRG32k3a random number generator is used in sub-sequence parallelization mode to address this issue

For the MRG32k3a random number generator, the sub-sequence approach strikes the ideal compromise between scalability and randomness