Repository navigation
Create new libcudf_streaming C++ library #22747
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
Changes from 23 commits
b408816
9f39615
de9333d
7a5dc7a
a84dada
71b73fc
d4474e7
ef1253d
1281ea1
5b4e206
0c357f9
66eae2d
dcf3158
81b67ec
f1328c2
7829c8f
bbb91e2
eeee936
d543440
ac59082
ef08ee8
c2f3ad4
cc7e1b4
168d39d
c333f2b
8703ae1
ffe4429
7aa63ab
2a22732
aa37256
d3ac6cc
156f4ac
9532ffa
9d2feab
d34574f
15d6c1d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
|
mroeschke marked this conversation as resolved.
Resolved
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| #!/bin/bash | ||
| # SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| source rapids-init-pip | ||
|
|
||
| package_name="libcudf_streaming" | ||
|
vyasr marked this conversation as resolved.
Resolved
|
||
| package_dir="python/libcudf_streaming" | ||
|
|
||
| rapids-logger "Generating build requirements" | ||
|
|
||
| rapids-dependency-file-generator \ | ||
| --output requirements \ | ||
| --file-key "py_build_${package_name}" \ | ||
| --file-key "py_rapids_build_${package_name}" \ | ||
| --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION};cuda_suffixed=true" \ | ||
| | tee /tmp/requirements-build.txt | ||
|
|
||
| rapids-logger "Installing build requirements" | ||
| rapids-pip-retry install \ | ||
| -v \ | ||
| --prefer-binary \ | ||
| -r /tmp/requirements-build.txt | ||
|
|
||
| # build with '--no-build-isolation', for better sccache hit rate | ||
| # 0 really means "add --no-build-isolation" (ref: https://github.com/pypa/pip/issues/5735) | ||
| export PIP_NO_BUILD_ISOLATION=0 | ||
|
|
||
| ./ci/build_wheel.sh "${package_name}" "${package_dir}" | ||
|
|
||
| # repair wheels and write to the location that artifact-uploading code expects to find them | ||
| python -m auditwheel repair \ | ||
| --exclude libcudf.so \ | ||
| --exclude librapidsmpf.so \ | ||
| --exclude librapids_logger.so \ | ||
| --exclude librmm.so \ | ||
| --exclude libucxx.so \ | ||
| --exclude libucp.so.0 \ | ||
| -w "${RAPIDS_WHEEL_BLD_OUTPUT_DIR}" \ | ||
| ${package_dir}/dist/* | ||
|
|
||
| ./ci/validate_wheel.sh "${package_dir}" "${RAPIDS_WHEEL_BLD_OUTPUT_DIR}" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| #!/bin/bash | ||
| # SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| # Support customizing the ctests' install location | ||
| # First, try the installed location (CI/conda environments) | ||
| installed_test_location="${INSTALL_PREFIX:-${CONDA_PREFIX:-/usr}}/bin/gtests/libcudf_streaming/" | ||
| # Fall back to the build directory (devcontainer environments) | ||
| script_dir="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" | ||
| devcontainers_test_location="${script_dir}/../cpp/libcudf_streaming/build/latest" | ||
| buildsh_test_location="${STREAMING_LIB_BUILD_DIR:-${script_dir}/../cpp/libcudf_streaming/build}" | ||
|
|
||
| if [[ -d "${installed_test_location}" ]]; then | ||
| cd "${installed_test_location}" | ||
| elif [[ -d "${devcontainers_test_location}" ]]; then | ||
| cd "${devcontainers_test_location}" | ||
| elif [[ -d "${buildsh_test_location}" ]]; then | ||
| cd "${buildsh_test_location}" | ||
| else | ||
| echo "Error: Test location not found. Searched:" >&2 | ||
| echo " - ${installed_test_location}" >&2 | ||
| echo " - ${devcontainers_test_location}" >&2 | ||
| echo " - ${buildsh_test_location}" >&2 | ||
| exit 1 | ||
| fi | ||
|
|
||
| ctest --output-on-failure --no-tests=error "$@" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -32,5 +32,11 @@ if (( SUITEERROR == 0 )); then | |
| SUITEERROR=$? | ||
| fi | ||
|
|
||
| if (( SUITEERROR == 0 )); then | ||
| rapids-logger "Run libcudf_streaming gtests" | ||
| timeout 30m ./ci/run_cudf_streaming_ctests.sh -j20 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I feel like this should be in its own test job.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The tests take ~10s. It's not worth another job. We already bundle the examples and kafka tests in here as well.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we reduce the timeout, then?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I did, but @pentschev was worried about it in #22747 (comment). I decided not to delay this PR on that debate. Happy to discuss this in a follow-up. I added this item to #22771.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I didn't mean to create a whole debate, sorry about that! A few clarifications:
If you are confident about the new timeouts, go for it. I have grown increasingly wary of our runners, and I definitely don't want this PR to eventually look like breaking other stuff, that's all. 🙂 |
||
| SUITEERROR=$? | ||
| fi | ||
|
|
||
| rapids-logger "Test script exiting with value: $EXITCODE" | ||
| exit ${EXITCODE} | ||
Uh oh!
There was an error while loading. Please reload this page.