-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add remaining cudf_streaming tests and benchmarks #22814
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
rapids-bot
merged 28 commits into
NVIDIA:main
from
vyasr:feat/add_remaining_rapidsmpf_pieces
Jun 9, 2026
Merged
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
c50e7aa
Add C++ streaming tests for libcudf_streaming
vyasr 301dc54
Add C++ benchmarks for libcudf_streaming
vyasr c5ed4a2
Add C++ examples and scripts for libcudf_streaming
vyasr 0c72c9e
Add Python tests for cudf_streaming
vyasr f1efac5
Add Python examples for cudf_streaming
vyasr 7c0621e
Fix namespace references for cudf_streaming migration
vyasr 2698c77
Add missing CUDA error checks
pentschev e5a3290
Check `dynamic_pointer_cast` before dereference
pentschev d9e7ae1
Ensure minimum of one run
pentschev f2021a6
Remove hardcoded dataset path
pentschev 3b794e8
Add missing early return when expected file doesn't exist
pentschev 9ed2c78
Fix incorrect string column length when `num_rows` is odd
pentschev a66120e
Prevent counting latch beyond zero, may lead to UB
pentschev 9a9dda8
Add missing device_mr fixture
pentschev f842128
Merge remote-tracking branch 'upstream/main' into feat/add_remaining_…
pentschev 67a1b99
Fix test imports
pentschev 9dc973e
Add UCXX dependencies
pentschev ef848be
Download RapidsMPF CPM
pentschev c38543b
Merge remote-tracking branch 'upstream/main' into feat/add_remaining_…
pentschev 1554f45
Fix style
pentschev 4c8e42e
Add cuda-nvml-dev dependency
pentschev e0a5a17
Revert "Add cuda-nvml-dev dependency"
vyasr 16a1b34
Revert "Download RapidsMPF CPM"
vyasr e14cbbd
Merge remote-tracking branch 'upstream/main' into feat/add_remaining_…
vyasr f31dc6f
Add cuda-cupti-dev dependency
vyasr 3cf04a5
Remove -DBUILD_BENCHMARKS=ON from devcontainer builds
vyasr 7959e95
Try to reenable cudf benchmarks while disabling cudf_streaming
vyasr 61a3759
Fix flags
vyasr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| # ============================================================================= | ||
| # cmake-format: off | ||
| # SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
| # cmake-format: on | ||
| # ============================================================================= | ||
|
|
||
| # Find or install GoogleBench | ||
| include(${rapids-cmake-dir}/cpm/gbench.cmake) | ||
| rapids_cpm_gbench(BUILD_STATIC) | ||
|
|
||
| add_library(bench_utils INTERFACE) | ||
| target_sources(bench_utils INTERFACE utils/random_data.cu) | ||
| target_compile_options(bench_utils INTERFACE $<$<COMPILE_LANGUAGE:CUDA>:--expt-extended-lambda>) | ||
|
|
||
| add_executable(bench_shuffle "bench_shuffle.cpp") | ||
| set_target_properties( | ||
| bench_shuffle | ||
| PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CUDF_STREAMING_BINARY_DIR}/benchmarks" | ||
| CXX_STANDARD 20 | ||
| CXX_STANDARD_REQUIRED ON | ||
| CXX_EXTENSIONS ON | ||
| CUDA_STANDARD 20 | ||
| CUDA_STANDARD_REQUIRED ON | ||
| ) | ||
| target_link_libraries( | ||
| bench_shuffle PRIVATE cudf_streaming rapidsmpf::rapidsmpf ucxx::ucxx MPI::MPI_CXX | ||
| $<TARGET_NAME_IF_EXISTS:conda_env> bench_utils | ||
| ) | ||
| install( | ||
| TARGETS bench_shuffle | ||
| COMPONENT benchmarking | ||
| DESTINATION bin/benchmarks/libcudf_streaming | ||
| EXCLUDE_FROM_ALL | ||
| ) | ||
|
|
||
| add_executable(bench_partition "bench_partition.cpp") | ||
| set_target_properties( | ||
| bench_partition | ||
| PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CUDF_STREAMING_BINARY_DIR}/benchmarks" | ||
| CXX_STANDARD 20 | ||
| CXX_STANDARD_REQUIRED ON | ||
| CXX_EXTENSIONS ON | ||
| CUDA_STANDARD 20 | ||
| CUDA_STANDARD_REQUIRED ON | ||
| ) | ||
| target_link_libraries( | ||
| bench_partition PRIVATE cudf_streaming rapidsmpf::rapidsmpf benchmark::benchmark | ||
| benchmark::benchmark_main $<TARGET_NAME_IF_EXISTS:conda_env> bench_utils | ||
| ) | ||
| install( | ||
| TARGETS bench_partition | ||
| COMPONENT benchmarking | ||
| DESTINATION bin/benchmarks/libcudf_streaming | ||
| EXCLUDE_FROM_ALL | ||
| ) | ||
|
|
||
| add_executable(bench_pack "bench_pack.cpp") | ||
| set_target_properties( | ||
| bench_pack | ||
| PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CUDF_STREAMING_BINARY_DIR}/benchmarks" | ||
| CXX_STANDARD 20 | ||
| CXX_STANDARD_REQUIRED ON | ||
| CXX_EXTENSIONS ON | ||
| CUDA_STANDARD 20 | ||
| CUDA_STANDARD_REQUIRED ON | ||
| LINK_FLAGS "-Wl,--allow-shlib-undefined" | ||
| ) | ||
| target_link_libraries( | ||
| bench_pack PRIVATE cudf_streaming rapidsmpf::rapidsmpf benchmark::benchmark | ||
| benchmark::benchmark_main $<TARGET_NAME_IF_EXISTS:conda_env> bench_utils | ||
| ) | ||
| install( | ||
| TARGETS bench_pack | ||
| COMPONENT benchmarking | ||
| DESTINATION bin/benchmarks/libcudf_streaming | ||
| EXCLUDE_FROM_ALL | ||
| ) | ||
|
|
||
| add_subdirectory(streaming) |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We enable
-DBUILD_BENCHMARKSin rapidsmpf. https://github.com/rapidsai/rapidsmpf/blob/5234785a0255847784770948b9728beafe00a8a7/.github/workflows/pr.yaml#L356The fix is probably switching to
rapidsai/devcontainers:26.08-cpp-cuda13.2-ucx1.19.0-openmpi5.0.10, let's do that (and similar for 12.9). https://github.com/rapidsai/rapidsmpf/blob/5234785a0255847784770948b9728beafe00a8a7/.devcontainer/cuda13.2-pip/devcontainer.json#L8Then delete these special
configure-*commands.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update: this isn't viable. We switched to using
rapidsmpfwheels, which don't have MPI support. Therefore, cudf-streaming benchmarks can't be built for pip devcontainers.Follow-ups: