Skip to main content

dbx_core/storage/gpu/
mod.rs

1//! GPU Storage Layer — Optional acceleration using CUDA.
2//!
3//! Provides utilities to transfer Arrow RecordBatches to GPU memory
4//! and execute custom kernels.
5//!
6//! ## Advanced Optimizations (007)
7//!
8//! - **CUDA Streams**: Asynchronous data transfer and kernel execution overlap
9//! - **Multi-GPU**: Distributed processing with NVLink support
10//! - **Histogram Optimization**: Fast aggregation for small cardinality keys
11//! - **Unified Memory**: Automatic memory management with prefetching
12//! - **Persistent Kernels**: Reduced kernel launch overhead
13
14mod adaptive;
15mod aggregation;
16mod data;
17mod group_by;
18mod hash_join;
19mod manager;
20mod memory_pool;
21mod radix_sort;
22mod strategy;
23
24// Advanced optimization modules (007)
25#[cfg(feature = "gpu")]
26mod memory;
27#[cfg(feature = "gpu")]
28mod multi_device;
29#[cfg(feature = "gpu")]
30mod occupancy;
31#[cfg(feature = "gpu")]
32mod persistent;
33#[cfg(feature = "gpu")]
34mod sharding;
35#[cfg(feature = "gpu")]
36mod topology;
37
38// Re-exports
39pub use adaptive::GpuGroupByStrategy;
40#[cfg(feature = "gpu")]
41pub use data::GpuData;
42pub use manager::GpuManager;
43#[cfg(feature = "gpu")]
44pub use memory_pool::GpuMemoryPool;
45pub use strategy::{GpuHashStrategy, GpuReductionStrategy};
46
47// Advanced optimization re-exports (007)
48#[cfg(feature = "gpu")]
49pub use memory::{GpuMemoryManager, MemoryStrategy, UnifiedBuffer};
50#[cfg(feature = "gpu")]
51pub use occupancy::OccupancyCalculator;
52#[cfg(feature = "gpu")]
53pub use topology::DeviceTopology;