pub struct MultiGpuConfig {
pub num_gpus: usize,
pub rank: usize,
pub sync_strategy: SyncStrategy,
pub gradient_compression: bool,
pub compression_ratio: f32,
pub local_group_size: usize,
pub adaptive_communication: bool,
pub bandwidth_monitor_interval: usize,
pub async_param_updates: bool,
pub communication_timeout_ms: u64,
pub error_correction: bool,
pub pipeline_depth: usize,
}Expand description
Multi-GPU configuration
Fields§
§num_gpus: usizeNumber of GPUs
rank: usizeGPU rank (0-indexed)
sync_strategy: SyncStrategySynchronization strategy
gradient_compression: boolEnable gradient compression
compression_ratio: f32Compression ratio (for top-k compression)
local_group_size: usizeLocal GPU group size (for hierarchical)
adaptive_communication: boolEnable adaptive communication optimization
bandwidth_monitor_interval: usizeBandwidth monitoring interval (steps)
async_param_updates: boolEnable asynchronous parameter updates
communication_timeout_ms: u64Communication timeout (milliseconds)
error_correction: boolEnable error correction for communication
pipeline_depth: usizePipeline depth for overlapping computation and communication
Implementations§
Source§impl MultiGpuConfig
impl MultiGpuConfig
Sourcepub fn validate(&self) -> Result<(), GpuOptimError>
pub fn validate(&self) -> Result<(), GpuOptimError>
Check every field that is later used as a divisor or an index bound, so a bad config fails here with a clear message instead of panicking (division by zero) deep inside a sync call.
Trait Implementations§
Source§impl Clone for MultiGpuConfig
impl Clone for MultiGpuConfig
Source§fn clone(&self) -> MultiGpuConfig
fn clone(&self) -> MultiGpuConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MultiGpuConfig
impl Debug for MultiGpuConfig
Auto Trait Implementations§
impl Freeze for MultiGpuConfig
impl RefUnwindSafe for MultiGpuConfig
impl Send for MultiGpuConfig
impl Sync for MultiGpuConfig
impl Unpin for MultiGpuConfig
impl UnsafeUnpin for MultiGpuConfig
impl UnwindSafe for MultiGpuConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more