Skip to content

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

Open
jameslamb wants to merge 5 commits intoNVIDIA:release/26.04from
jameslamb:test-older-ctk
Open

build wheels with CUDA 13.0.x, test wheels against mix of CTK versions#973
jameslamb wants to merge 5 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.

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.

2 participants