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_attr
Trait 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