TL;DR
Randompack is an open-source C library offering fast, reproducible cross-platform random number generation and sampling, supporting multiple engines and distributions with language bindings and parallel simulation features.
Contribution
It introduces a versatile, high-performance C library with cross-language reproducibility and extensive distribution support, surpassing existing libraries in speed and compatibility.
Findings
Randompack is faster than competing libraries, with up to 15x speedup.
It provides reproducible results across languages, architectures, and compilers.
Supports multiple engines and distributions, with comprehensive parallel simulation features.
Abstract
A C library for random number generation, Randompack, is presented. The library implements several modern random number generators (engines), including xoshiro256, PCG64, Philox, ranlux++, and sfc64; 14 continuous distributions including uniform, normal, exponential, gamma, beta, and multivariate normal; raw bit streams, bounded integers, permutations, and sampling without replacement. The engine and the distribution layers are separated so any engine can be used with any distribution. Benchmarks show that Randompack is faster overall than competing libraries, with speedup factors ranging from about 1 to 15 depending on engine, distribution, interface, and platform. A distinguishing feature is reproducibility: with the same seeds Randompack gives compatible results across programming languages, computers, CPU architectures, and compilers. The library includes comprehensive support for…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
