pub enum GpuReductionStrategy {
Auto,
SinglePass,
MultiPass,
Histogram,
}Expand description
Reduction strategy for SUM/COUNT operations
Variants§
Auto
Automatically choose based on data size
SinglePass
Single-pass with atomic operations (good for small data)
MultiPass
Multi-pass reduction (good for large data, eliminates atomic contention)
Histogram
Histogram-based aggregation (best for low cardinality < 1000)
Implementations§
Source§impl GpuReductionStrategy
impl GpuReductionStrategy
Sourcepub fn choose_for_sum(&self, data_size: usize) -> GpuReductionStrategy
pub fn choose_for_sum(&self, data_size: usize) -> GpuReductionStrategy
Choose optimal strategy based on data size For SUM: single-pass is generally better for current GPU architecture Multi-pass only beneficial for extremely large datasets (>100M rows)
Trait Implementations§
Source§impl Clone for GpuReductionStrategy
impl Clone for GpuReductionStrategy
Source§fn clone(&self) -> GpuReductionStrategy
fn clone(&self) -> GpuReductionStrategy
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 GpuReductionStrategy
impl Debug for GpuReductionStrategy
Source§impl Default for GpuReductionStrategy
impl Default for GpuReductionStrategy
Source§fn default() -> GpuReductionStrategy
fn default() -> GpuReductionStrategy
Returns the “default value” for a type. Read more
Source§impl PartialEq for GpuReductionStrategy
impl PartialEq for GpuReductionStrategy
impl Copy for GpuReductionStrategy
impl Eq for GpuReductionStrategy
impl StructuralPartialEq for GpuReductionStrategy
Auto Trait Implementations§
impl Freeze for GpuReductionStrategy
impl RefUnwindSafe for GpuReductionStrategy
impl Send for GpuReductionStrategy
impl Sync for GpuReductionStrategy
impl Unpin for GpuReductionStrategy
impl UnsafeUnpin for GpuReductionStrategy
impl UnwindSafe for GpuReductionStrategy
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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