clrng: A tool set for parallel random numbergeneration on GPUs in R
Ruoyong Xu, Patrick Brown, Pierre L'Ecuyer

TL;DR
The paper presents clrng, an R package that enables fast, parallel random number generation on GPUs using OpenCL, improving R's computational speed and reproducibility for simulations.
Contribution
Introduces clrng, a novel R package integrating GPU-based parallel RNG with reproducibility features, enhancing statistical computing in R.
Findings
Significantly speeds up random number generation in R using GPU parallelism.
Ensures reproducible and independent streams of random numbers across sessions.
Flexible and portable, suitable for various applications beyond RNG.
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Physics and Python Applications · Data Analysis with R
