  We introduce the R package clrng which leverages the gpuR package and is able
to generate random numbers in parallel on a Graphics Processing Unit (GPU) with
the clRNG (OpenCL) library. Parallel processing with GPU's can speed up
computationally intensive tasks, which when combined with R, it can largely
improve R's downsides in terms of slow speed, memory usage and computation
mode. clrng enables reproducible research by setting random initial seeds for
streams on GPU and CPU, and can thus accelerate several types of statistical
simulation and modelling. The random number generator in clrng guarantees
independent parallel samples even when R is used interactively in an ad-hoc
manner, with sessions being interrupted and restored. This package is portable
and flexible, developers can use its random number generation kernel for
various other purposes and applications.
