pub enum GpuHistogramAlgorithm {
Chunked,
Contiguous,
}
Expand description
Specifies the histogram algorithm that computes the partition offsets.
Variants
Chunked
Chunked partitions, that are computed on the GPU.
Chunked
computes a separate set of partitions per thread block. Tuples
of the resulting partitions are thus distributed among all chunks.
It was originally introduced for NUMA locality by Schuh et al. in “An Experimental Comparison of Thirteen Relational Equi-Joins in Main Memory”.
On GPUs, it has two main benefits. First, thread blocks don’t communicate to compute the histogram, and can avoid global synchronization. Second, the offsets are smaller, and potentially we can use 32-bit integers instead of 64-bit integers when caching them in shared memory during the partitioning phase.
Contiguous
Contiguous partitions, that are computed on the GPU.
Contiguous
computes the “normal” partition layout. Each resulting
partition is laid out contiguously in memory.
Note that this algorithm does not work on pre-Pascal
GPUs, because it
requires cooperative launch capability to perform grid synchronization.
Trait Implementations
sourceimpl Clone for GpuHistogramAlgorithm
impl Clone for GpuHistogramAlgorithm
sourcefn clone(&self) -> GpuHistogramAlgorithm
fn clone(&self) -> GpuHistogramAlgorithm
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for GpuHistogramAlgorithm
impl Debug for GpuHistogramAlgorithm
sourceimpl From<CpuHistogramAlgorithm> for GpuHistogramAlgorithm
impl From<CpuHistogramAlgorithm> for GpuHistogramAlgorithm
sourcefn from(algo: CpuHistogramAlgorithm) -> Self
fn from(algo: CpuHistogramAlgorithm) -> Self
Performs the conversion.
sourceimpl From<GpuHistogramAlgorithm> for HistogramAlgorithmType
impl From<GpuHistogramAlgorithm> for HistogramAlgorithmType
sourcefn from(algo: GpuHistogramAlgorithm) -> Self
fn from(algo: GpuHistogramAlgorithm) -> Self
Performs the conversion.
impl Copy for GpuHistogramAlgorithm
Auto Trait Implementations
impl RefUnwindSafe for GpuHistogramAlgorithm
impl Send for GpuHistogramAlgorithm
impl Sync for GpuHistogramAlgorithm
impl Unpin for GpuHistogramAlgorithm
impl UnwindSafe for GpuHistogramAlgorithm
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more