Struct hashjoin::measurement::hash_join_bench::HashJoinBench
source · [−]pub struct HashJoinBench<T> {
pub hashing_scheme: HashingScheme,
pub is_selective: bool,
pub hash_table_len: usize,
_phantom_data: PhantomData<T>,
}
Fields
hashing_scheme: HashingScheme
is_selective: bool
hash_table_len: usize
_phantom_data: PhantomData<T>
Implementations
sourceimpl<T> HashJoinBench<T> where
T: Default + AsPrimitive<c_uint> + DeviceCopy + Sync + Send + KeyAttribute + CudaHashJoinable + CpuHashJoinable,
impl<T> HashJoinBench<T> where
T: Default + AsPrimitive<c_uint> + DeviceCopy + Sync + Send + KeyAttribute + CudaHashJoinable + CpuHashJoinable,
pub fn cuda_hash_join(
&self,
data: &mut JoinData<T>,
hash_table_alloc: MemSpillAllocFn<HtEntry<T, T>>,
cache_node: u16,
max_hash_table_cache_bytes: Option<usize>,
cached_hash_table_tuples: Rc<RefCell<Option<usize>>>,
build_dim: (GridSize, BlockSize),
probe_dim: (GridSize, BlockSize)
) -> Result<HashJoinPoint, Error>
pub fn cuda_streaming_hash_join(
&self,
data: &mut JoinData<T>,
hash_table_alloc: MemAllocFn<HtEntry<T, T>>,
build_dim: (GridSize, BlockSize),
probe_dim: (GridSize, BlockSize),
transfer_strategy: CudaTransferStrategy,
gpu_morsel_bytes: usize,
cpu_memcpy_threads: usize,
cpu_affinity: &CpuAffinity
) -> Result<HashJoinPoint, Error>
pub fn cuda_streaming_unified_hash_join(
&self,
data: &mut JoinData<T>,
hash_table_alloc: MemAllocFn<HtEntry<T, T>>,
build_dim: (GridSize, BlockSize),
probe_dim: (GridSize, BlockSize),
gpu_morsel_bytes: usize
) -> Result<HashJoinPoint, Error>
pub fn cpu_hash_join(
&self,
data: &mut JoinData<T>,
threads: usize,
cpu_affinity: &CpuAffinity,
hash_table_alloc: DerefMemAllocFn<HtEntry<T, T>>
) -> Result<HashJoinPoint, Error>
pub fn hetrogeneous_hash_join(
&self,
data: &mut JoinData<T>,
hash_table_alloc: MemAllocFn<HtEntry<T, T>>,
cpu_threads: usize,
worker_cpu_affinity: &WorkerCpuAffinity,
gpu_ids: Vec<u16>,
build_dim: (GridSize, BlockSize),
probe_dim: (GridSize, BlockSize),
morsel_spec: &MorselSpec
) -> Result<HashJoinPoint, Error>
pub fn gpu_build_heterogeneous_probe(
&self,
data: &mut JoinData<T>,
cpu_hash_table_alloc: MemAllocFn<HtEntry<T, T>>,
gpu_hash_table_alloc: MemAllocFn<HtEntry<T, T>>,
cpu_threads: usize,
worker_cpu_affinity: &WorkerCpuAffinity,
gpu_ids: Vec<u16>,
build_dim: (GridSize, BlockSize),
probe_dim: (GridSize, BlockSize),
morsel_spec: &MorselSpec
) -> Result<HashJoinPoint, Error>
Auto Trait Implementations
impl<T> RefUnwindSafe for HashJoinBench<T> where
T: RefUnwindSafe,
impl<T> Send for HashJoinBench<T> where
T: Send,
impl<T> Sync for HashJoinBench<T> where
T: Sync,
impl<T> Unpin for HashJoinBench<T> where
T: Unpin,
impl<T> UnwindSafe for HashJoinBench<T> where
T: UnwindSafe,
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