pub trait CollectiveDispatch: Send + 'static {
// Required methods
fn dtype_kind(&self) -> DispatchDType;
fn device_id(&self) -> Option<u32>;
fn dispatch(self: Box<Self>, ctx: &CollectiveDispatchCtx<'_>);
}Expand description
Boxed-dispatch trait for NCCL collectives. The CollectiveActor
handles the message envelope; each typed request struct (e.g.
AllReduceRequest<T: NcclReduceSupported>) implements this so the
actor stays single-mailbox while the dtype dimension travels in the
box.