pub enum ChunkingStrategy {
ComputeIntensive,
MemoryIntensive,
CacheFriendly,
Custom {
chunk_size: usize,
alignment: usize,
prefetch_distance: usize,
},
}Expand description
Chunking strategy for tensor operations
§SciRS2 Integration
When the “parallel” feature is enabled, this wraps scirs2-core::chunking::ChunkConfig
Variants§
ComputeIntensive
Optimize for compute-bound tensor operations
- Matrix multiplication, convolution, FFT
- Targets CPU execution units saturation
- Expected speedup: 15-30%
MemoryIntensive
Optimize for memory-bandwidth-bound operations
- Large tensor copies, broadcasting, reshaping
- Targets memory bandwidth optimization
- Expected speedup: 20-40%
CacheFriendly
Optimize for cache-sensitive operations
- Reductions, cumulative sums, scans
- Targets L2/L3 cache optimization
- Expected speedup: 25-50%
Custom
Custom chunking with explicit parameters
Trait Implementations§
Source§impl Clone for ChunkingStrategy
impl Clone for ChunkingStrategy
Source§fn clone(&self) -> ChunkingStrategy
fn clone(&self) -> ChunkingStrategy
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 moreAuto Trait Implementations§
impl Freeze for ChunkingStrategy
impl RefUnwindSafe for ChunkingStrategy
impl Send for ChunkingStrategy
impl Sync for ChunkingStrategy
impl Unpin for ChunkingStrategy
impl UnsafeUnpin for ChunkingStrategy
impl UnwindSafe for ChunkingStrategy
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> 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