Skip to content

build wheels with CUDA 13.0.x, test wheels against mix of CTK versions#973

Merged
rapids-bot[bot] merged 7 commits intoNVIDIA:release/26.04from
jameslamb:test-older-ctk
Mar 23, 2026
Merged

build wheels with CUDA 13.0.x, test wheels against mix of CTK versions#973
rapids-bot[bot] merged 7 commits intoNVIDIA:release/26.04from
jameslamb:test-older-ctk

Conversation

@jameslamb
Copy link
Member

Description

Contributes to rapidsai/build-planning#257

  • builds CUDA 13 wheels with the 13.0 CTK
  • ensures wheels ship with a runtime dependency of nvidia-nvjitlink>={whatever-minor-version-they-were-built-against}

Contributes to rapidsai/build-planning#256

  • updates wheel tests to cover a range of CTK versions (we previously, accidentally, were only testing the latest 12.x and 13.x)

Contributes to rapidsai/build-planning#205

Issue

N/A

Checklist

  • I am familiar with the Contributing Guidelines.
  • Testing
    • New or existing tests cover these changes
  • Documentation
    • The documentation is up to date with these changes

@jameslamb jameslamb added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Mar 18, 2026
@copy-pr-bot
Copy link

copy-pr-bot bot commented Mar 18, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@jameslamb
Copy link
Member Author

/ok to test

@jameslamb jameslamb changed the title WIP: build wheels with CUDA 13.0.x, test wheels against mix of CTK versions build wheels with CUDA 13.0.x, test wheels against mix of CTK versions Mar 18, 2026
@jameslamb jameslamb requested a review from gforsyth March 18, 2026 20:15
@jameslamb jameslamb marked this pull request as ready for review March 18, 2026 20:15
@jameslamb jameslamb requested a review from a team as a code owner March 18, 2026 20:15
@coderabbitai
Copy link

coderabbitai bot commented Mar 18, 2026

📝 Walkthrough

Walkthrough

Updates GitHub Actions workflows to use main branch versions instead of python-3.14 tags, adds pip constraint handling to CI test scripts, expands CUDA version support matrices in dependencies.yaml, and refactors pyproject.toml to use cuda-toolkit with specific NVIDIA components instead of individual packages.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Updates
.github/workflows/build.yaml, .github/workflows/pr.yaml
Updated action references from python-3.14 tag to main branch across multiple jobs, removing version pin and adopting latest main-stable definitions. Control flow and error handling unchanged.
CI Test Script Enhancements
ci/test_self_hosted_service.sh, ci/test_wheel_cuopt.sh, ci/test_wheel_cuopt_server.sh
Added pip constraint generation via rapids-generate-pip-constraints, updated install commands with --prefer-binary and --constraint flags, extended wheel selection with test extras and additional packages (cuopt_sh_client, libcuopt wheels).
CUDA Dependencies Configuration
dependencies.yaml
Replaced CUDA 12.0/12.4 with expanded versions (12.2, 12.5, 12.8, 12.9, 13.0, 13.1); added new requirements-output block with cuda_version-specific matrices and error handling for unsupported CUDA values; refactored CUDA 13 dependencies using anchors (&ctk_cu13, &cudss_cu13, &nvjitlink_cu13) and introduced nvjitlink/cudss components.
Project Dependencies
python/libcuopt/pyproject.toml
Replaced individual NVIDIA runtime packages (nvidia-cublas, nvidia-cudart, nvidia-cudss, nvidia-curand, nvidia-cusolver, nvidia-cusparse, nvidia-nvjitlink, nvidia-nvtx) with cuda-toolkit [cublas,cudart,curand,cusolver,cusparse,nvtx]==13.\*, nvidia-cudss-cu13, and nvidia-nvjitlink >=13.0,<14.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly summarizes the main changes: building CUDA 13.0.x wheels and testing against multiple CTK versions, which aligns with the primary objectives of the pull request.
Description check ✅ Passed The description is well-related to the changeset, providing context for the three main objectives: CUDA 13 wheel builds, expanded CTK version testing, and workflow branch updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot]

This comment was marked as resolved.

@rgsl888prabhu rgsl888prabhu changed the base branch from main to release/26.04 March 19, 2026 16:20
@rgsl888prabhu
Copy link
Collaborator

@jameslamb I have moved this 26.04 release branch, please change it if it is not meant for that.

@jameslamb
Copy link
Member Author

@jameslamb I have moved this 26.04 release branch, please change it if it is not meant for that.

Thanks! Yep I intended this for 26.04, there just wasn't a release/26.04 branch yet when I opened it.

@jameslamb
Copy link
Member Author

@rgsl888prabhu is there an issue or PR tracking some of these test segfaults I'm seeing?

e.g.

[ RUN      ] level0_retail/retail_float_test_t.CVRPTW_Retail/4
ROUTING_TEST: /tmp/conda-bld-output/bld/rattler-build_libmps-parser/work/cpp/src/routing/local_search/vrp/vrp_execute.cu:466: bool cuopt::routing::detail::execute_vrp_moves(solution_t<i_t, f_t, REQUEST>&, move_candidates_t<i_t, f_t>&, i_t) [with i_t = int; f_t = float; cuopt::routing::request_t REQUEST = cuopt::routing::request_t::VRP]: Assertion `cost_before - cost_after > EPSILON&& "Cost should improve!"' failed.
./ci/run_ctests.sh: line 24:  5951 Aborted                 (core dumped) "${gt}" "$@"

(conda-cpp-tests)

The C++ tests should be totally unrelated to changed in this PR, so I suspect there are some other issues.

I see those issues in other PRs here too.

@jameslamb
Copy link
Member Author

Those test failures didn't re-occur on a re-run, and I strongly suspect that they were not related to these changes given that several were for C++ and Python conda packages.

I'm confident that we can merge this.

@jameslamb
Copy link
Member Author

/merge

@rapids-bot rapids-bot bot merged commit aa3d4fb into NVIDIA:release/26.04 Mar 23, 2026
303 of 312 checks passed
@jameslamb jameslamb deleted the test-older-ctk branch March 23, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants