pub struct SequenceParallelismConfig {
pub sequence_parallel_size: usize,
pub max_sequence_length_per_device: usize,
pub overlap_size: usize,
pub attention_communication_opt: bool,
pub communication_pattern: SequenceCommunicationPattern,
pub splitting_strategy: SequenceSplittingStrategy,
pub sync_gradients: bool,
pub memory_optimization: SequenceMemoryOptimization,
pub use_checkpointing: bool,
}Expand description
Sequence Parallelism Configuration
Sequence parallelism distributes long sequences across multiple devices, enabling the processing of sequences that are too long to fit on a single device. This is particularly useful for very long document processing, DNA sequences, or other sequential data that exceeds memory limits.
Fields§
§sequence_parallel_size: usizeNumber of devices for sequence parallelism
max_sequence_length_per_device: usizeMaximum sequence length per device
overlap_size: usizeOverlap size between adjacent sequence chunks
attention_communication_opt: boolWhether to use attention communication optimization
communication_pattern: SequenceCommunicationPatternCommunication pattern for sequence parallelism
splitting_strategy: SequenceSplittingStrategySequence splitting strategy
sync_gradients: boolWhether to use gradient synchronization across sequence chunks
memory_optimization: SequenceMemoryOptimizationMemory optimization for long sequences
use_checkpointing: boolWhether to use checkpointing for sequence chunks
Trait Implementations§
Source§impl Clone for SequenceParallelismConfig
impl Clone for SequenceParallelismConfig
Source§fn clone(&self) -> SequenceParallelismConfig
fn clone(&self) -> SequenceParallelismConfig
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 SequenceParallelismConfig
impl Debug for SequenceParallelismConfig
Source§impl Default for SequenceParallelismConfig
impl Default for SequenceParallelismConfig
Source§impl<'de> Deserialize<'de> for SequenceParallelismConfig
impl<'de> Deserialize<'de> for SequenceParallelismConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SequenceParallelismConfig
impl RefUnwindSafe for SequenceParallelismConfig
impl Send for SequenceParallelismConfig
impl Sync for SequenceParallelismConfig
impl Unpin for SequenceParallelismConfig
impl UnsafeUnpin for SequenceParallelismConfig
impl UnwindSafe for SequenceParallelismConfig
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> ConfigSerializable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T> ConfigSerializable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
Source§fn save_to_file(&self, path: &Path) -> Result<(), TrustformersError>
fn save_to_file(&self, path: &Path) -> Result<(), TrustformersError>
Save to file
Source§fn load_from_file(path: &Path) -> Result<Self, TrustformersError>where
Self: Sized,
fn load_from_file(path: &Path) -> Result<Self, TrustformersError>where
Self: Sized,
Load from file
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