AOCL-RNG is a high-performance implementation of vector based Random Number Generator library which provides a set of pseudo-random number generators, quasi-random number generator and statistical distribution functions optimized for AMD “Zen”-based processors.
Statistical distribution functions include continuous as well as discrete type. This library provides random numbers of type Integer, Single Precision and Double Precision. This library provides seven base generators and twenty-three distribution functions.
Furthermore, customization is possible to use a custom-built generator as the base generator for all distribution generators.
This library depends on other libraries AOCL-LibM and Single-threaded AOCL-BLAS.
AOCL-RNG provides following base generators and distribution functions:
- Pseudo-Random Number Generator
NAG Basic Generator
Wichmann-Hill Generators
L’Ecuyer’s Combined Recursive (MRG32K3A) Generator
Mersenne Twister Generator
SIMD-oriented Fast Mersenne Twister (SFMT) Generator
Blum-Blum-Shub Generator (deprecated)
- Quasi-Random Number Generator
Sobol Generator
- Statistical continuous distribution functions
Beta Distribution
Cauchy Distribution
Chi-square Distribution
Exponential Distribution
Gamma Distribution
Gaussian or Normal Distribution
Lognormal Distribution
Uniform Distribution
Weibull Distribution
F-Distribution
Logistic Distribution
Students T Distribution
Triangular Distribution
VonMises Distribution
Multivariate Gaussian or Normal Distribution
Multivariate Students T Distribution
- Statistical discrete distribution functions
Binomial Distribution
Geometric Distribution
Hypergeometric Distribution
Negative Binomial Distribution
Poisson Distribution
Uniform Distribution
Multinomial Distribution
Refer RNG documentation for more information.