Expand description
ModuleActor — load prebuilt cubin/PTX from disk (or memory) and
launch its kernels.
Distinct from crate::kernel::nvrtc / NvrtcActor, which
JIT-compiles CUDA C++ at runtime. This actor is for the
“ahead-of-time-compiled, ship-the-bytes” workflow.
Lifecycle:
LoadCubin { bytes }orLoadPtx { src }→ returns aModuleHandle.GetFunction { handle, name }→ returns aFunctionHandle.Launch { function, cfg, args }→ enqueues a kernel call on the actor’s stream and replies after stream completion.LaunchCooperative { function, cfg, args }→ same but goes throughcuLaunchCooperativeKernel. Required for cluster / grid-sync kernels (Hopper SM90+).Unload { handle }→ frees theCUmodule.
KernelArg is re-exported from crate::kernel::nvrtc so this
actor and NvrtcActor share one launch-arg type.
Re-exports§
pub use crate::kernel::nvrtc::KernelArg;
Structs§
- Function
Handle - Module
Actor - Module
Handle - Opaque module handle. Carries an internal id used by the actor’s
internal
HashMap.