pub struct ModelParallelConfig {
pub num_devices: usize,
pub strategy: ModelParallelStrategy,
pub device_ids: Vec<usize>,
pub pipeline_depth: Option<usize>,
pub tensor_split_dim: Option<usize>,
pub gradient_checkpointing: bool,
pub comm_backend: CommunicationBackend,
}Expand description
Configuration for model parallel execution
Fields§
§num_devices: usizeNumber of devices to use
strategy: ModelParallelStrategyParallelism strategy
device_ids: Vec<usize>Device IDs to use (e.g., [0, 1, 2, 3] for 4 GPUs)
pipeline_depth: Option<usize>Pipeline depth for pipeline parallelism
tensor_split_dim: Option<usize>Tensor split dimension for tensor parallelism
gradient_checkpointing: boolEnable gradient checkpointing to save memory
comm_backend: CommunicationBackendCommunication backend
Trait Implementations§
Source§impl Clone for ModelParallelConfig
impl Clone for ModelParallelConfig
Source§fn clone(&self) -> ModelParallelConfig
fn clone(&self) -> ModelParallelConfig
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 ModelParallelConfig
impl Debug for ModelParallelConfig
Auto Trait Implementations§
impl Freeze for ModelParallelConfig
impl RefUnwindSafe for ModelParallelConfig
impl Send for ModelParallelConfig
impl Sync for ModelParallelConfig
impl Unpin for ModelParallelConfig
impl UnsafeUnpin for ModelParallelConfig
impl UnwindSafe for ModelParallelConfig
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