Skip to main content

Module rng

Module rng 

Source
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::SetGenerator reconstructs the handle in place so callers can switch families at runtime.
  • Distribution matrix (Uniform, Normal, LogNormal, Poisson, Exponential, Beta, Cauchy, Gamma, Discrete) routed through Distribution<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-host feature: 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§

RngActor

Enums§

RngMsg
Public messages for RngActor.

Functions§

_capability_marker_compile_fail_doc
Compile-fail proof that FillRequest rejects non-float dtypes.