Expand description
RngActor — wraps a cuRAND curandGenerator_t handle and fills
device buffers with the full distribution matrix.
Phase 1 cuRAND surface (vs. F2):
- Explicit generator selection via
RngGeneratorKind(Philox4_32_10, XORWOW, MTGP32, MRG32K3A, plus all four Sobol variants).RngMsg::SetGeneratorreconstructs the handle in place so callers can switch families at runtime. - Distribution matrix (
Uniform,Normal,LogNormal,Poisson,Exponential,Beta,Cauchy,Gamma,Discrete) routed throughDistribution<T>→FillRequest<T>→RngDispatch::fill. - Quasi-random Sobol parallel to pseudo-random: see
[
sobol] for dimension configuration. - Host API parallel to device API under the
curand-hostfeature: see [host].
Reseed model: SetSeed { seed } calls
crate::sys::curand::set_seed in place — no panic-restart.
Reseed is a control-plane op; restart-on-reseed would tear down
all in-flight work. The seed is journaled by ReplayHarness (F5)
so deterministic replay still works.
Re-exports§
pub use crate::sys::curand::RngGeneratorKind;pub use dist::Distribution;pub use dist::FillRequest;
Modules§
- dist
- Distribution dispatchers.
- props
- Re-exported here so callers can
use atomr_accel_cuda::kernel::rng::props::*for the public surface without remembering which module defines what.
Structs§
Enums§
Functions§
- _capability_
marker_ compile_ fail_ doc - Compile-fail proof that
FillRequestrejects non-float dtypes.