pub struct KernelChildren {
pub blas: ActorRef<BlasMsg>,
pub cudnn: Option<ActorRef<CudnnMsg>>,
pub fft: Option<ActorRef<FftMsg>>,
pub rng: Option<ActorRef<RngMsg>>,
pub solver: Option<ActorRef<SolverMsg>>,
pub nvrtc: Option<ActorRef<NvrtcMsg>>,
/* private fields */
}Expand description
Set of kernel-actor refs spawned by a ContextActor. Each is
Some only when both the cargo feature is compiled in and the
DeviceConfig::enabled_libraries flag is set.
Phase 0.8 extension. In addition to the typed fields below
(which keep existing call sites compiling), KernelChildren
carries an open extras map keyed by TypeId. Future actor
crates (atomr-accel-cutlass, -tensorrt, -flashattn,
-telemetry, -cub) stash their ActorRef here so the device
supervisor can hand them out via KernelChildren::extra
without the core having to know their concrete message type.
Fields§
§blas: ActorRef<BlasMsg>§cudnn: Option<ActorRef<CudnnMsg>>§fft: Option<ActorRef<FftMsg>>§rng: Option<ActorRef<RngMsg>>§solver: Option<ActorRef<SolverMsg>>§nvrtc: Option<ActorRef<NvrtcMsg>>Implementations§
Source§impl KernelChildren
impl KernelChildren
Sourcepub fn new(blas: ActorRef<BlasMsg>) -> Self
pub fn new(blas: ActorRef<BlasMsg>) -> Self
Construct a KernelChildren with the given BlasActor ref
and no library children or extras. Mirrors the ..Default::default()
pattern used by callers but keeps blas mandatory.
Sourcepub fn register_extra<T: Any + Send + Sync>(&self, value: T)
pub fn register_extra<T: Any + Send + Sync>(&self, value: T)
Register an extra child actor (or any Send + Sync handle) by
type. Future actor crates (atomr-accel-cutlass, -tensorrt,
-flashattn, -telemetry, -cub) stash their ActorRef
here so the device supervisor can route stop/restart messages.
If a value of the same type is already registered, it is
overwritten — typical use is one-shot registration during
ContextActor::run_init.
Sourcepub fn extra<T: Any + Send + Sync + Clone>(&self) -> Option<T>
pub fn extra<T: Any + Send + Sync + Clone>(&self) -> Option<T>
Look up a previously registered extra by type. Returns a clone
of the stored T if and only if a value of that exact type
was registered.
Sourcepub fn extras_len(&self) -> usize
pub fn extras_len(&self) -> usize
Number of registered extras (for stats / observability).
Trait Implementations§
Source§impl Clone for KernelChildren
impl Clone for KernelChildren
Source§fn clone(&self) -> KernelChildren
fn clone(&self) -> KernelChildren
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more