Skip to content

Bump the cuda_bindings version floor in cuda_core - #3380

Merged
mdboom merged 2 commits into
NVIDIA:mainfrom
mdboom:bump-version-floor-to-13.5
Nov 5, 2026
Merged

mdboom merged 2 commits into
NVIDIA:mainfrom
mdboom:bump-version-floor-to-13.5

Conversation

@mdboom

@mdboom mdboom commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Bump the cuda_bindings version floor now that cuda_bindings 13.5.0 has published wheels.

The test needed to be fixed here, because:

The failing test is TestBuildConfigurationCheck::test_header_minor_must_match_bindings[13050]. It fails with DID NOT RAISE RuntimeError. This commit raises the cu13 floor to 13.5.0, but the test hard-coded 13050 as a "wrong" CUDA header. That header now matches the floor's 13.5 minor, so the build check correctly accepts it and nothing is raised.

This updates the parameterized versions to they computed from the current floor and will naturally move with it.

@mdboom mdboom self-assigned this Nov 5, 2026
@mdboom mdboom added CI/CD CI/CD infrastructure cuda.core Everything related to the cuda.core module labels Nov 5, 2026
@github-actions github-actions Bot removed the CI/CD CI/CD infrastructure label Nov 5, 2026
@mdboom mdboom added this to the cuda.core 1.3.0 milestone Nov 5, 2026
@mdboom
mdboom requested a review from Andy-Jost November 5, 2026 12:28
@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Explain Change →

Summary

Summary by CodeRabbit

  • Compatibility
    • CUDA 13 installations now require cuda-bindings version 13.5.0 or later, below version 14. The minimum version for CUDA 12 remains 12.9.8. These requirements apply to the optional installation extras; the CUDA Toolkit 13 version pin is unchanged. Review the applicable version requirement when installing or upgrading CUDA 13 support.

The CUDA 13 cuda-bindings minimum changes to 13.5.0 in package metadata and release notes. Header mismatch tests now derive test versions from each configured bindings floor.

Changes: CUDA 13 bindings floor

Layer / File(s) Summary
Update CUDA 13 bindings floor
cuda_core/pyproject.toml, cuda_core/docs/source/release/1.3.0-notes.rst
The cu13 extra now requires cuda-bindings[all]>=13.5.0,<14. The release notes show the same CUDA 13 minimum. CUDA 12 remains at 12.9.8, and the CUDA Toolkit constraint remains 13.*.
Derive header mismatch test cases
cuda_core/tests/test_build_hooks.py
_mismatched_headers() generates versions one minor below and above each configured bindings floor. The header-mismatch test uses those generated values instead of three fixed inputs.

Change: Other

Merge Risk: Low · up to d62c4

The dependency-floor update is otherwise bounded, but the CUDA 12 header validation test needs its parameters corrected before merge.

- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@github-actions

github-actions Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor
Doc Preview CI
Preview removed because the pull request was closed or merged.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick comments: 1

cuda_core/tests/test_build_hooks.py: 1

704-704: Trivial · Maintainability & Code Quality · Quick win

Parameterize the mismatch test by CUDA major.

_mismatched_headers() now yields CUDA 12 header values. test_header_minor_must_match_bindings still installs CUDA 13 bindings and passes "13". The CUDA 12 cases therefore check a cross-major header, not an adjacent-minor header for CUDA 12. A regression in the CUDA 12 minor check can pass unnoticed.

Pair each header with its major. Use that major for the floor, the bindings version, and the major argument.

🧪 Suggested fix

     headers = []
     for floor in build_hooks._bindings_floors().values():
         for minor in (floor[1] - 1, floor[1] + 1):
-            headers.append(floor[0] * 1000 + minor * 10)
+            headers.append((floor[0], floor[0] * 1000 + minor * 10))
     return sorted(headers)
-    @pytest.mark.parametrize("header", _mismatched_headers())
-    def test_header_minor_must_match_bindings(self, tmp_path, monkeypatch, header):
-        floor = self.FLOOR[13]
-        _fake_bindings(monkeypatch, _floor_str(13))
+    @pytest.mark.parametrize("major, header", _mismatched_headers())
+    def test_header_minor_must_match_bindings(self, tmp_path, monkeypatch, major, header):
+        floor = self.FLOOR[major]
+        _fake_bindings(monkeypatch, _floor_str(major))
         cuda_path = _write_cuda_h(tmp_path, header)
         with pytest.raises(RuntimeError) as excinfo:
-            build_hooks._check_build_configuration(cuda_path, "13")
+            build_hooks._check_build_configuration(cuda_path, str(major))
         message = str(excinfo.value)
         assert message.startswith(
-            f"cuda.core needs CUDA {floor[0]}.{floor[1]} headers to build with the installed cuda-bindings {_floor_str(13)}, but "
+            f"cuda.core needs CUDA {floor[0]}.{floor[1]} headers to build with the installed cuda-bindings {_floor_str(major)}, but "
         )
Review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 0dfed54 and d62c4c0.

Files selected for processing: 1

  • cuda_core/tests/test_build_hooks.py

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

@mdboom mdboom added the CI/CD CI/CD infrastructure label Nov 5, 2026
@mdboom
mdboom enabled auto-merge (squash) November 5, 2026 16:04
@mdboom
mdboom merged commit e01e453 into NVIDIA:main Nov 5, 2026
120 of 122 checks passed
github-actions Bot pushed a commit that referenced this pull request Nov 6, 2026
Removed preview folders for the following PRs:
- PR #3305
- PR #3332
- PR #3343
- PR #3368
- PR #3380
- PR #3387
- PR #3388
- PR #3389
- PR #3391
- PR #3393
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD CI/CD infrastructure cuda.core Everything related to the cuda.core module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants