#[repr(C)]pub struct NcclConfig {
pub size: usize,
pub magic: u32,
pub version: u32,
pub blocking: i32,
pub cga_cluster_size: i32,
pub min_ctas: i32,
pub max_ctas: i32,
pub net_name: [u8; 8],
pub split_share: i32,
}Expand description
NCCL config for ncclCommInitRankConfig. Set blocking=0 for non-blocking mode (ncclGroupEnd returns immediately).
Fields§
§size: usizeSize of this struct (for versioning).
magic: u32Magic number (0x4d43434e = “NCCM” in LE for NCCL 2.27+).
version: u32Version (NCCL_VERSION_CODE).
blocking: i321 = blocking (default), 0 = non-blocking.
cga_cluster_size: i32CGA cluster size (0 = default).
min_ctas: i32Min CTAs for launch (0 = default).
max_ctas: i32Max CTAs for launch (0 = default).
net_name: [u8; 8]Network name (null-terminated, or all zeros for default).
Split share (0 = default).
Implementations§
Source§impl NcclConfig
impl NcclConfig
Sourcepub fn non_blocking() -> Self
pub fn non_blocking() -> Self
Create a default config with non-blocking mode enabled. Must match NCCL_CONFIG_INITIALIZER from nccl.h: { sizeof(ncclConfig_t), 0x4e43434c, NCCL_VERSION(MAJOR,MINOR,PATCH), NCCL_CONFIG_UNDEF_INT, … }
Auto Trait Implementations§
impl Freeze for NcclConfig
impl RefUnwindSafe for NcclConfig
impl Send for NcclConfig
impl Sync for NcclConfig
impl Unpin for NcclConfig
impl UnwindSafe for NcclConfig
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