Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Performance optimization of cuCascade's disk I/O backends (GDS and kvikIO) to ap
- Channels: `rapidsai-nightly`, `conda-forge` (default); `rapidsai`, `conda-forge` (cudf-stable feature)
## Frameworks
- RMM (RAPIDS Memory Manager) - GPU/host memory resource abstraction; provides `rmm::mr::device_memory_resource`, `::cuda::stream_ref`, `rmm::out_of_memory`, `rmm::bad_alloc`; pulled in via `find_package(rmm REQUIRED CONFIG)` from libcudf installation
- libcudf 26.12 (nightly) / 26.06 (stable) - Columnar data representation for the **`cucascade-cudf` layer only** (not the core); provides `cudf::table`, `cudf::column`, `cudf::type_id`, `cudf::pack`/`unpack`; pulled in via `find_package(cudf REQUIRED CONFIG)`, gated on `CUCASCADE_BUILD_CUDF`
- libcudf 26.12 (nightly) / 26.08 (stable) - Columnar data representation for the **`cucascade-cudf` layer only** (not the core); provides `cudf::table`, `cudf::column`, `cudf::type_id`, `cudf::pack`/`unpack`; pulled in via `find_package(cudf REQUIRED CONFIG)`, gated on `CUCASCADE_BUILD_CUDF`
- Catch2 v2.13.10 - Unit test framework; fetched via `FetchContent` in `test/CMakeLists.txt`; test executable: `cucascade_tests`
- Google Benchmark v1.8.3 - Microbenchmark framework; fetched via `FetchContent` in `benchmark/CMakeLists.txt`; benchmark executable: `cucascade_benchmarks`
- Ninja - Build generator (configured in `CMakePresets.json`)
Expand All @@ -46,11 +46,11 @@ Performance optimization of cuCascade's disk I/O backends (GDS and kvikIO) to ap
- codespell v2.4.1 - Spell checking via pre-commit (ignore list: `.codespell_words`)
- Doxygen - API documentation generation; config: `Doxyfile`; output parsed by `scripts/generate_api_docs.py`
## Key Dependencies
- `libcudf` 26.12 / 26.06 - Data representation for the `cucascade-cudf` layer (not the cudf-free core); `cudf::table` is the GPU-tier data container; all column type handling (LIST, STRUCT, STRING, DICTIONARY32, etc.) delegates to cudf
- `libcudf` 26.12 / 26.08 - Data representation for the `cucascade-cudf` layer (not the cudf-free core); `cudf::table` is the GPU-tier data container; all column type handling (LIST, STRUCT, STRING, DICTIONARY32, etc.) delegates to cudf
- `RMM` (via cudf) - `rmm::mr::device_memory_resource` is the base class for all custom allocators; `::cuda::stream_ref` is used throughout for CUDA stream propagation
- `CUDA::cudart` - Direct CUDA runtime API calls (`cudaMalloc`, `cudaMemcpyAsync`, `cudaStreamSynchronize`, `cudaFree`, `cudaMallocHost`, `cudaFreeHost`)
- `CUDA::nvml` - GPU topology discovery via NVML in `src/memory/topology_discovery.cpp`
- `kvikio` 26.12 / 26.06 - Async disk I/O with automatic GDS/POSIX fallback; used in `src/data/kvikio_io_backend.cpp` via `kvikio::FileHandle`; linked PRIVATE via `kvikio::kvikio`
- `kvikio` 26.12 / 26.08 - Async disk I/O with automatic GDS/POSIX fallback; used in `src/data/kvikio_io_backend.cpp` via `kvikio::FileHandle`; linked PRIVATE via `kvikio::kvikio`
- `libcufile` (cuFile / GDS) - NVIDIA GPUDirect Storage for direct GPU↔NVMe transfers; `<cufile.h>` used in `src/data/gds_io_backend.cpp`; found via `find_library(CUFILE_LIB cufile ...)` — optional at configure time, required at runtime for GDS backend
- `libnuma` - NUMA-aware pinned host memory allocation in `src/memory/numa_region_pinned_host_allocator.cpp`; found via `find_library(NUMA_LIB numa REQUIRED)`
- `Threads::Threads` (pthreads) - Thread support; `std::mutex`, `std::condition_variable`, `std::async` throughout
Expand Down
2 changes: 1 addition & 1 deletion pixi.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ dependencies = { "libcudf" = "26.12.*" }

[feature.cudf-stable]
channels = [{ channel = "rapidsai", priority = 1 }]
dependencies = { "libcudf" = "26.06.*" }
dependencies = { "libcudf" = "26.08.*" }

# AWS SDK is only needed by the optional S3 parquet benchmark
# (CUCASCADE_BUILD_S3_BENCHMARK=ON). It is deliberately NOT a dependency of
Expand Down
Loading