pub struct GpuManager { /* private fields */ }Expand description
Manager for GPU-accelerated operations.
Implementations§
Source§impl GpuManager
Aggregation operations impl block
impl GpuManager
Aggregation operations impl block
Sourcepub fn sum(&self, table: &str, column: &str) -> DbxResult<i64>
pub fn sum(&self, table: &str, column: &str) -> DbxResult<i64>
SUM aggregation on GPU with configurable reduction strategy.
Sourcepub fn count(&self, table: &str, column: &str) -> DbxResult<u64>
pub fn count(&self, table: &str, column: &str) -> DbxResult<u64>
COUNT aggregation on GPU (single-pass for simplicity).
Source§impl GpuManager
GROUP BY operations impl block
impl GpuManager
GROUP BY operations impl block
Sourcepub fn group_by_sum(
&self,
table: &str,
group_column: &str,
value_column: &str,
) -> DbxResult<Vec<(i32, i64, i32)>>
pub fn group_by_sum( &self, table: &str, group_column: &str, value_column: &str, ) -> DbxResult<Vec<(i32, i64, i32)>>
GROUP BY with SUM aggregation on GPU. Returns Vec<(group_key, sum_value, count)>
Source§impl GpuManager
Hash Join operations impl block
impl GpuManager
Hash Join operations impl block
Source§impl GpuManager
impl GpuManager
Sourcepub fn try_new() -> Option<Self>
pub fn try_new() -> Option<Self>
Create a new GpuManager. Returns None if GPU acceleration is disabled or if no compatible device is found.
Sourcepub fn set_hash_strategy(&mut self, strategy: GpuHashStrategy)
pub fn set_hash_strategy(&mut self, strategy: GpuHashStrategy)
Set GPU hash strategy for GROUP BY operations
Sourcepub fn hash_strategy(&self) -> GpuHashStrategy
pub fn hash_strategy(&self) -> GpuHashStrategy
Get current GPU hash strategy
Sourcepub fn set_reduction_strategy(&mut self, strategy: GpuReductionStrategy)
pub fn set_reduction_strategy(&mut self, strategy: GpuReductionStrategy)
Set GPU reduction strategy for SUM operations
Sourcepub fn reduction_strategy(&self) -> GpuReductionStrategy
pub fn reduction_strategy(&self) -> GpuReductionStrategy
Get current GPU reduction strategy
Sourcepub fn upload_batch(&self, table: &str, batch: &RecordBatch) -> DbxResult<()>
pub fn upload_batch(&self, table: &str, batch: &RecordBatch) -> DbxResult<()>
Upload a RecordBatch to GPU memory and cache it.
Sourcepub fn upload_batch_pinned(
&self,
table: &str,
batch: &RecordBatch,
) -> DbxResult<()>
pub fn upload_batch_pinned( &self, table: &str, batch: &RecordBatch, ) -> DbxResult<()>
Upload a RecordBatch to GPU memory using Pinned Memory for faster DMA transfer.
pub fn clear_table_cache(&self, table: &str)
pub fn clear_all_cache(&self)
impl GpuManager
This impl block contains no items.
Radix Sort operations impl block
Auto Trait Implementations§
impl Freeze for GpuManager
impl RefUnwindSafe for GpuManager
impl Send for GpuManager
impl Sync for GpuManager
impl Unpin for GpuManager
impl UnsafeUnpin for GpuManager
impl UnwindSafe for GpuManager
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> 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