Struct sql_ops::join::no_partitioning_join::CudaHashJoin
source · [−]pub struct CudaHashJoin<T: DeviceCopy + KeyAttribute> { /* private fields */ }Expand description
GPU hash join implemented in CUDA.
See the module documentation above for usage details.
The build and probe_sum methods are simply wrappers for the
corresponding implementations in CudaHashJoinable. The wrapping is
necessary due to the specialization for each type T. See the documentation
of CudaHashJoinable for details.
Implementations
sourceimpl<T> CudaHashJoin<T> where
T: DeviceCopy + KeyAttribute + CudaHashJoinable,
impl<T> CudaHashJoin<T> where
T: DeviceCopy + KeyAttribute + CudaHashJoinable,
sourcepub fn build(
&self,
join_attr: LaunchableSlice<'_, T>,
payload_attr: LaunchableSlice<'_, T>,
stream: &Stream
) -> Result<()>
pub fn build(
&self,
join_attr: LaunchableSlice<'_, T>,
payload_attr: LaunchableSlice<'_, T>,
stream: &Stream
) -> Result<()>
Build a hash table on the GPU.
sourcepub fn probe_sum(
&self,
join_attr: LaunchableSlice<'_, T>,
payload_attr: LaunchableSlice<'_, T>,
result_set: &Mem<u64>,
stream: &Stream
) -> Result<()>
pub fn probe_sum(
&self,
join_attr: LaunchableSlice<'_, T>,
payload_attr: LaunchableSlice<'_, T>,
result_set: &Mem<u64>,
stream: &Stream
) -> Result<()>
Probe the hash table on the GPU and sum the payload attribute rows.
This effectively implements the SQL code:
SELECT SUM(s.payload_attr) FROM r JOIN s ON r.join_attr = s.join_attrTrait Implementations
sourceimpl<T: Debug + DeviceCopy + KeyAttribute> Debug for CudaHashJoin<T>
impl<T: Debug + DeviceCopy + KeyAttribute> Debug for CudaHashJoin<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for CudaHashJoin<T> where
T: RefUnwindSafe,
impl<T> Send for CudaHashJoin<T> where
T: Send + Sync,
impl<T> Sync for CudaHashJoin<T> where
T: Send + Sync,
impl<T> Unpin for CudaHashJoin<T>
impl<T> UnwindSafe for CudaHashJoin<T> where
T: RefUnwindSafe,
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