pub enum P2pMsg {
EnableAll {
reply: Sender<Result<P2pGraph, GpuError>>,
},
CanAccess {
from: u32,
to: u32,
reply: Sender<bool>,
},
CopyF32 {
src: GpuRef<f32>,
src_device: u32,
dst: GpuRef<f32>,
dst_device: u32,
reply: Sender<Result<(), GpuError>>,
},
Topology {
reply: Sender<P2pGraph>,
},
RefreshDevice {
device_idx: u32,
new_generation: u64,
},
}Variants§
EnableAll
CanAccess
CopyF32
Async peer copy from src (on src_device) to dst
(on dst_device). Both GpuRefs must be valid; copy size
is min(src.len, dst.len) × sizeof(f32).
Fields
Topology
RefreshDevice
Internal: a device’s generation_watch fired, meaning its
ContextActor rebuilt the underlying CudaContext. The
cached Arc<CudaContext> in self.contexts is now stale —
re-snapshot it. Peer-access mappings persist across rebuilds
only if the new context lives in the same primary slot, so
the topology marks itself disabled and a follow-up
EnableAll is required to refresh graph + re-issue
cuCtxEnablePeerAccess.
Auto Trait Implementations§
impl Freeze for P2pMsg
impl !RefUnwindSafe for P2pMsg
impl Send for P2pMsg
impl Sync for P2pMsg
impl Unpin for P2pMsg
impl UnsafeUnpin for P2pMsg
impl !UnwindSafe for P2pMsg
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more