Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0f3dbc8
Add nvCOMP benchmark
pentschev Nov 6, 2025
d0575cb
Fixes
pentschev Nov 6, 2025
5a677f9
Fix illegal memory access
pentschev Nov 6, 2025
dd793fd
Wait for buffer before sending
pentschev Nov 6, 2025
19c81c8
Improve measuring received messages
pentschev Nov 6, 2025
802d95c
Rename to column
pentschev Nov 7, 2025
d3720d5
Use roundtrip transfers
pentschev Nov 10, 2025
99d3ba9
Fix roundtrip on >2 ranks
pentschev Nov 10, 2025
99245f3
Reduce code duplication
pentschev Nov 10, 2025
6c61c36
Make uncompressed transfer block identical
pentschev Nov 10, 2025
525541e
Implement functions to exchange header and payload
pentschev Nov 10, 2025
fbec2a2
Print compression ratio
pentschev Nov 10, 2025
a1e7992
Compressed time includes compression/decompression
pentschev Nov 10, 2025
b0951a1
Fix assumed file sizes
pentschev Nov 11, 2025
ef01b38
Move nvcomp code to librapidsmpf
pentschev Nov 11, 2025
179886d
Ensure packed data is immediately completed
pentschev Nov 11, 2025
1e235b6
Multi-stream compression
pentschev Nov 11, 2025
4a79b84
Multi-stream decompression
pentschev Nov 11, 2025
c3d6c79
Add Zstd and Snappy compression
pentschev Nov 11, 2025
a671b47
Allow passing BufferResource to compress()
pentschev Nov 11, 2025
4cc54e4
Use cudaMallocAsync when BufferResource is not specified
pentschev Nov 12, 2025
5adcea7
Use a helper allocation function
pentschev Nov 12, 2025
721dda9
Gather packing time
pentschev Nov 12, 2025
73a17dd
Make individual column packing non-blocking
pentschev Nov 12, 2025
bbb555a
Reorganization and cleanup
pentschev Nov 12, 2025
c46305f
Support (de-)compressing and transferring data only
pentschev Nov 12, 2025
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
1 change: 1 addition & 0 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ add_library(
src/cuda_event.cpp
src/integrations/cudf/partition.cpp
src/integrations/cudf/utils.cpp
src/nvcomp.cpp
src/pausable_thread_loop.cpp
src/progress_thread.cpp
src/rmm_resource_adaptor.cpp
Expand Down
30 changes: 30 additions & 0 deletions cpp/benchmarks/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,36 @@ install(
EXCLUDE_FROM_ALL
)

# ----------------------------------------------------------------------------
# nvCOMP compression + Communicator benchmark
find_package(nvcomp CONFIG REQUIRED)
add_executable(bench_comp_comm "bench_comp_comm.cpp")
set_target_properties(
bench_comp_comm
PROPERTIES RUNTIME_OUTPUT_DIRECTORY "$<BUILD_INTERFACE:${RAPIDSMPF_BINARY_DIR}/benchmarks>"
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
# For std:: support of __int128_t. Can be removed once using cuda::std
CXX_EXTENSIONS ON
CUDA_STANDARD 20
CUDA_STANDARD_REQUIRED ON
LINK_FLAGS "-Wl,--allow-shlib-undefined"
)
target_compile_options(
bench_comp_comm PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${RAPIDSMPF_CXX_FLAGS}>"
"$<$<COMPILE_LANGUAGE:CUDA>:${RAPIDSMPF_CUDA_FLAGS}>"
)
target_link_libraries(
bench_comp_comm PRIVATE rapidsmpf::rapidsmpf ucxx::ucxx $<TARGET_NAME_IF_EXISTS:MPI::MPI_C>
nvcomp::nvcomp $<TARGET_NAME_IF_EXISTS:conda_env> maybe_asan bench_utils
)
install(
TARGETS bench_comp_comm
COMPONENT benchmarking
DESTINATION bin/benchmarks/librapidsmpf
EXCLUDE_FROM_ALL
)

# Find or install GoogleBench
include(${rapids-cmake-dir}/cpm/gbench.cmake)
rapids_cpm_gbench(BUILD_STATIC)
Expand Down
Loading