Expand description
DeviceActor — the outer tier of the §5.11 two-tier supervision tree.
Responsibilities:
- Stable address:
ActorRef<DeviceMsg>survives unlimitedContextActorrestarts. - Spawns the
ContextActorchild (which owns theArc<CudaContext>) and queuesWorkRequests while the context is being (re)built. - Holds the shared
Arc<DeviceState>that outlives any singleContextActorincarnation.
Structs§
- Device
Actor - Device
Config - Public configuration for a
DeviceActor. - Enabled
Libraries - Per-device opt-in flags for which library actors to spawn.
Compile-time
feature = "..."gates still apply — a flag for a library that wasn’t compiled in is silently ignored. - Kernel
Children - Set of kernel-actor refs spawned by a
ContextActor. Each isSomeonly when both the cargo feature is compiled in and theDeviceConfig::enabled_librariesflag is set. - Sgemm
Request - Body of a
DeviceMsg::Sgemmrequest. Boxed because it’s larger than the surrounding enum’s other variants and we want the enum cheap to clone/send.replyisoneshot, so each request must be unique.
Enums§
- Device
Msg - Public messages sent to a
DeviceActor. - Work
Request - Pending work item — anything DeviceActor stashes while the context
is not ready. Mirrors the user-facing variants of
DeviceMsgminus internal messages.