pub struct ZeROConfig {
pub stage: ZeROStage,
pub bucket_size_mb: usize,
pub overlap_comm: bool,
pub reduce_bucket_size: usize,
pub prefetch_depth: usize,
pub max_memory_usage_mb: usize,
pub gradient_compression: bool,
pub pin_memory: bool,
}Expand description
Configuration for ZeRO optimizer
Fields§
§stage: ZeROStageZeRO stage to use
bucket_size_mb: usizeTarget bucket size for gradient communication (in MB)
overlap_comm: boolWhether to overlap communication with computation
reduce_bucket_size: usizeReduce bucket size (number of elements to reduce at once)
prefetch_depth: usizePrefetch depth for parameter gathering
max_memory_usage_mb: usizeMaximum memory usage threshold before releasing parameters
gradient_compression: boolEnable gradient compression
pin_memory: boolPin memory for faster GPU transfers
Trait Implementations§
Source§impl Clone for ZeROConfig
impl Clone for ZeROConfig
Source§fn clone(&self) -> ZeROConfig
fn clone(&self) -> ZeROConfig
Returns a duplicate of the value. Read more
1.0.0 · 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 ZeROConfig
impl Debug for ZeROConfig
Auto Trait Implementations§
impl Freeze for ZeROConfig
impl RefUnwindSafe for ZeROConfig
impl Send for ZeROConfig
impl Sync for ZeROConfig
impl Unpin for ZeROConfig
impl UnwindSafe for ZeROConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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