Skip to content

Commit e01e453

Browse files
authored
Bump the cuda_bindings version floor in cuda_core (#3380)
* Bump the cuda_bindings version floor in cuda_core * Fix the build floor test
1 parent 3429cba commit e01e453

3 files changed

Lines changed: 14 additions & 3 deletions

File tree

‎cuda_core/docs/source/release/1.3.0-notes.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Breaking Changes
1515
----------------
1616

1717
- ``cuda.core`` now requires a minimum ``cuda-bindings`` version per CUDA major, at build and run
18-
time: 12.9.8 for CUDA 12 and 13.4.1 for CUDA 13. See the
18+
time: 12.9.8 for CUDA 12 and 13.5.0 for CUDA 13. See the
1919
:ref:`support policy <cuda-core-bindings-floor>`. ``import cuda.core`` with an older
2020
``cuda-bindings`` fails with a message that names the required version and how to install it.
2121
``pip install cuda-core[cu12]`` or ``pip install cuda-core[cu13]`` installs a compatible

‎cuda_core/pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ dependencies = [
6161
# checklist in AGENTS.md). Keep the form `>=<floor>,<<next major>`.
6262
[project.optional-dependencies]
6363
cu12 = ["cuda-bindings[all]>=12.9.8,<13", "cuda-toolkit==12.*"]
64-
cu13 = ["cuda-bindings[all]>=13.4.1,<14", "cuda-toolkit==13.*"]
64+
cu13 = ["cuda-bindings[all]>=13.5.0,<14", "cuda-toolkit==13.*"]
6565

6666
[dependency-groups]
6767
# Keep build in sync with build-system.requires; install local cuda-pathfinder separately.

‎cuda_core/tests/test_build_hooks.py‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,6 +653,17 @@ def _write_cuda_h(tmp_path, cuda_version):
653653
return str(tmp_path)
654654

655655

656+
def _mismatched_headers():
657+
"""CUDA_VERSION values one minor below and one minor above the floor of each
658+
major. Derived from the floors so that bumping one does not make a case
659+
match."""
660+
headers = []
661+
for floor in build_hooks._bindings_floors().values():
662+
for minor in (floor[1] - 1, floor[1] + 1):
663+
headers.append(floor[0] * 1000 + minor * 10)
664+
return sorted(headers)
665+
666+
656667
class TestBuildConfigurationCheck:
657668
"""_check_build_configuration() accepts exactly one configuration per CUDA
658669
major: cuda-bindings at or above the floor, and a cuda.h of the same
@@ -690,7 +701,7 @@ def test_bindings_of_another_major_fail(self, tmp_path, monkeypatch):
690701
build_hooks._check_build_configuration(cuda_path, "12")
691702

692703
@pytest.mark.agent_authored(model="claude-fable-5-1")
693-
@pytest.mark.parametrize("header", [13030, 13050, 12090])
704+
@pytest.mark.parametrize("header", _mismatched_headers())
694705
def test_header_minor_must_match_bindings(self, tmp_path, monkeypatch, header):
695706
floor = self.FLOOR[13]
696707
_fake_bindings(monkeypatch, _floor_str(13))

0 commit comments

Comments
 (0)