Skip to main content

KernelChildren

Struct KernelChildren 

Source
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

Source

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.

Source

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.

Source

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.

Source

pub fn extras_len(&self) -> usize

Number of registered extras (for stats / observability).

Trait Implementations§

Source§

impl Clone for KernelChildren

Source§

fn clone(&self) -> KernelChildren

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Extension for T
where T: Any + Send + Sync,