Overview of Velox GPU Acceleration components
mainVelox provides several experimental components for GPU execution located under velox/experimental/. These components fall into three categories:
- Execution Backends: Run Velox operators on the GPU.
- Wave: A whole-pipeline backend that JIT-compiles contiguous operator runs into fused CUDA kernels.
- cuDF: An operator-level backend that replaces operators one-to-one using NVIDIA
libcudf.
- Portable Primitives Library (Breeze): Provides data-parallel building blocks (e.g.,
reduce,scan,sort) used to build GPU kernels. It is multi-platform (CUDA, HIP, OpenCL, etc.). - GPU-to-GPU Data Exchange (UCX exchange): A transport mechanism that shuffles data between workers directly between GPUs, avoiding host memory staging.
Note: All GPU components are experimental. Operators not supported by a backend will automatically fall back to CPU execution.