pub struct ChunkConfig {
pub strategy: ChunkStrategy,
pub min_chunk_size: usize,
pub max_chunk_size: usize,
pub prefer_work_stealing: bool,
pub memory_pattern: MemoryPattern,
pub compute_intensity: ComputeIntensity,
pub enable_monitoring: bool,
pub load_balance_factor: f64,
pub cache_awareness: CacheAwareness,
pub numa_strategy: NumaStrategy,
pub gpu_settings: Option<GpuChunkSettings>,
}Expand description
Configuration for chunking operations
Fields§
§strategy: ChunkStrategyChunking strategy to use
min_chunk_size: usizeMinimum chunk size (prevents too small chunks)
max_chunk_size: usizeMaximum chunk size (prevents too large chunks)
prefer_work_stealing: boolWhether to prefer work-stealing over fixed scheduling
memory_pattern: MemoryPatternMemory access pattern hint
compute_intensity: ComputeIntensityComputational intensity (ratio of compute to memory operations)
enable_monitoring: boolWhether to enable performance monitoring
load_balance_factor: f64Target load balancing factor (0.0 = perfect balance, 1.0 = allow imbalance)
cache_awareness: CacheAwarenessCache-awareness level
numa_strategy: NumaStrategyNUMA topology consideration
gpu_settings: Option<GpuChunkSettings>GPU integration settings
Implementations§
Source§impl ChunkConfig
impl ChunkConfig
Sourcepub fn compute_intensive() -> Self
pub fn compute_intensive() -> Self
Create a configuration optimized for compute-intensive operations
Sourcepub fn memory_intensive() -> Self
pub fn memory_intensive() -> Self
Create a configuration optimized for memory-intensive operations
Sourcepub fn cache_friendly() -> Self
pub fn cache_friendly() -> Self
Create a configuration optimized for cache-friendly operations
Sourcepub fn linear_algebra() -> Self
pub fn linear_algebra() -> Self
Create a configuration optimized for linear algebra operations
Sourcepub fn sparse_matrix() -> Self
pub fn sparse_matrix() -> Self
Create a configuration optimized for sparse matrix operations
Sourcepub fn signal_processing() -> Self
pub fn signal_processing() -> Self
Create a configuration optimized for signal processing
Sourcepub fn image_processing() -> Self
pub fn image_processing() -> Self
Create a configuration optimized for image processing
Sourcepub fn monte_carlo() -> Self
pub fn monte_carlo() -> Self
Create a configuration optimized for Monte Carlo simulations
Sourcepub fn iterative_solver() -> Self
pub fn iterative_solver() -> Self
Create a configuration optimized for iterative solvers
Sourcepub fn gpu_hybrid() -> Self
pub fn gpu_hybrid() -> Self
Create a configuration for hybrid CPU/GPU workloads
Sourcepub fn with_monitoring(self) -> Self
pub fn with_monitoring(self) -> Self
Enable performance monitoring for dynamic optimization
Sourcepub fn with_numa_strategy(self, strategy: NumaStrategy) -> Self
pub fn with_numa_strategy(self, strategy: NumaStrategy) -> Self
Set NUMA strategy
Sourcepub fn with_memory_pattern(self, pattern: MemoryPattern) -> Self
pub fn with_memory_pattern(self, pattern: MemoryPattern) -> Self
Set memory pattern hint
Sourcepub fn with_compute_intensity(self, intensity: ComputeIntensity) -> Self
pub fn with_compute_intensity(self, intensity: ComputeIntensity) -> Self
Set compute intensity
Sourcepub fn with_gpu_settings(self, settings: GpuChunkSettings) -> Self
pub fn with_gpu_settings(self, settings: GpuChunkSettings) -> Self
Add GPU settings
Trait Implementations§
Source§impl Clone for ChunkConfig
impl Clone for ChunkConfig
Source§fn clone(&self) -> ChunkConfig
fn clone(&self) -> ChunkConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ChunkConfig
impl Debug for ChunkConfig
Auto Trait Implementations§
impl Freeze for ChunkConfig
impl RefUnwindSafe for ChunkConfig
impl Send for ChunkConfig
impl Sync for ChunkConfig
impl Unpin for ChunkConfig
impl UnwindSafe for ChunkConfig
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
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>
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>
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 moreSource§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.