Expand description
§OxiCUDA Rand – GPU-Accelerated Random Number Generation
This crate provides GPU-accelerated random number generation, serving as a pure Rust equivalent to NVIDIA’s cuRAND library. It supports multiple RNG engines (Philox, XORWOW, MRG32k3a), various distributions (uniform, normal, log-normal, Poisson), and quasi-random sequences (Sobol).
§Engines
- Philox-4x32-10 – Counter-based PRNG, the cuRAND default.
- XORWOW – XORshift with Weyl sequence, fast and suitable for most Monte Carlo workloads.
- MRG32k3a – Combined multiple recursive generator with the highest statistical quality.
§Distributions
- Uniform [0, 1) in f32/f64
- Normal (Gaussian) via Box-Muller transform
- Log-normal via exponentiation of normals
- Poisson (Knuth for small lambda, normal approximation for large lambda)
§Quasi-random
- Sobol sequences for low-discrepancy sampling in Monte Carlo integration
Re-exports§
pub use error::RandError;pub use error::RandResult;pub use generator::RngEngine;pub use generator::RngGenerator;pub use graph_gen::AdjacencyList;pub use graph_gen::BarabasiAlbertGenerator;pub use graph_gen::ErdosRenyiGenerator;pub use graph_gen::GraphStats;pub use graph_gen::GraphType;pub use graph_gen::RandomRegularGenerator;pub use graph_gen::StochasticBlockModelGenerator;pub use graph_gen::WattsStrogatzGenerator;pub use matrix_gen::CorrelationMatrixGenerator;pub use matrix_gen::GaussianMatrixGenerator;pub use matrix_gen::MatrixLayout;pub use matrix_gen::OrthogonalMatrixGenerator;pub use matrix_gen::RandomMatrix;pub use matrix_gen::SymmetricPositiveDefiniteGenerator;pub use matrix_gen::WishartGenerator;pub use monte_carlo::BlackScholesParams;pub use monte_carlo::HamiltonianMC;pub use monte_carlo::McmcResult;pub use monte_carlo::MetropolisHastings;pub use monte_carlo::MonteCarloConfig;pub use monte_carlo::MonteCarloResult;pub use monte_carlo::SamplerState;pub use quasi::HaltonGenerator;pub use quasi::LatinHypercubeSampler;pub use quasi::ScrambledSobolGenerator;pub use quasi::SobolGenerator;
Modules§
- distributions
- Distribution transform utilities for GPU random number generation.
- engines
- RNG engine implementations.
- error
- Error types for OxiCUDA Rand operations.
- generator
- High-level RNG generator wrapping engine PTX generators.
- graph_
gen - Random graph generation for GNN workloads and network analysis.
- matrix_
gen - Random matrix generation for statistical applications.
- monte_
carlo - Monte Carlo simulation primitives.
- prelude
- Prelude for convenient imports.
- quasi
- Quasi-random number generation for Monte Carlo methods.
- statistical_
tests - Statistical quality tests for OxiCUDA random number generators.