Skip to content

Prepare cuda.core v1.2.2 with Python 3.15 support - #3108

Open
Andy-Jost wants to merge 2 commits into
NVIDIA:release/cuda-core-v1.2.1from
Andy-Jost:ajost/release-cuda-core-v1.2.2
Open

Andy-Jost wants to merge 2 commits into
NVIDIA:release/cuda-core-v1.2.1from
Andy-Jost:ajost/release-cuda-core-v1.2.2

Conversation

@Andy-Jost

Copy link
Copy Markdown
Contributor

Summary

Patch release of cuda.core 1.2.1 that adds Python 3.15 wheels, including the free-threaded build. Python 3.10 stays supported, so #3080 (which also drops 3.10) cannot be cherry-picked; this PR takes only its 3.15 parts plus the matching 13.4.4 release changes. The cuda-python 13.4.4 metapackage ships 3.15 support and pins cuda-core~=1.2.0, so pip install cuda-python on Python 3.15 needs a 1.2.x release with cp315 wheels. PyPI rejects new files for a release after 14 days, so the wheels cannot be added to 1.2.1. Part of #2163.

Changes:

  • Cherry-pick ci: bump cibuildwheel to v4.2.1 and drop cpython-prerelease enable #2898: cibuildwheel v4.1.1 -> v4.2.1 and drop CIBW_ENABLE: cpython-prerelease. v4.1.1 predates CPython 3.15.0rc1, so the cp315 wheels this branch built for 1.2.1 used a beta interpreter with no ABI guarantee. v4.2.1 builds 3.15 by default against 3.15.0rc2, which is ABI-compatible with the final release. The one conflict was the cibuildwheel pin.
  • Port the workflow parts of Prepare the 13.4.4 release #3096 (the 13.4.4 release): ci/tools/download-wheels no longer skips Python 3.15 artifacts, and the allow-prereleases and Windows continue-on-error guards for 3.15 go away. The Linux continue-on-error guard goes too, so 3.15 test failures fail CI.
  • ci/test-matrix.yml: add Python 3.15 test jobs (linux-64 3.15 and 3.15t, win-64 3.15) on CUDA 13.4.2. Like every other job on this branch, they test against published cuda-bindings, here 13.4.4, the only release with cp315 wheels and the one users get on Python 3.15. A 13.4 test version matches the build version, so env-vars would pick the bindings built in this run; each 3.15 row sets BINDINGS_SOURCE=published and the two skip flags through its ENV map, the same values env-vars sets for published bindings. The cuda.bindings tests for 3.15 and 3.15t ran in the 13.4.4 release CI.
  • cuda_core/pyproject.toml: add the Python 3.15 classifier. requires-python stays >=3.10.
  • Docs: 1.2.2 release notes, and the install and support pages list Python 3.10 - 3.15. Python 3.15 needs cuda-bindings 13.4.4 or newer, so it is CUDA 13 only.

Release plan

Merge here, tag cuda-core-v1.2.2 on the merge commit, wait for the tag-triggered CI run, run the release workflow in dry-run mode, then release. A follow-up PR to main adds 1.2.2 to the docs version switcher, the 1.2.2 release notes, and the Python 3.15 classifier.

🤖 Generated with Claude Code

Add Python 3.15 wheels, including the free-threaded build, and keep
Python 3.10. NVIDIA#3080 on main adds 3.15 and also drops 3.10, so this
commit takes only its 3.15 parts plus the matching 13.4.4 changes.

- Cherry-pick NVIDIA#2898 (f9de579): cibuildwheel v4.1.1 -> v4.2.1 and drop
  CIBW_ENABLE=cpython-prerelease. v4.1.1 predates CPython 3.15.0rc1;
  v4.2.1 builds against 3.15.0rc2, which is ABI-compatible with 3.15.0.
- Port the workflow part of NVIDIA#3096 (13.4.4): release the 3.15 wheels and
  remove the 3.15 allow-prereleases and continue-on-error guards,
  including the Linux one.
- Test 3.15 and 3.15t on CUDA 13.4.2 against published cuda-bindings
  13.4.4, the first release with cp315 wheels.
- Add the Python 3.15 classifier and the 1.2.2 release notes, and list
  Python 3.10 - 3.15 on the install and support pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Andy-Jost Andy-Jost added this to the cuda.core 1.2.x milestone Oct 14, 2026
@Andy-Jost Andy-Jost added P0 High priority - Must do! CI/CD CI/CD infrastructure feature New feature or request cuda.core Everything related to the cuda.core module labels Oct 14, 2026
@Andy-Jost Andy-Jost self-assigned this Oct 14, 2026
@Andy-Jost
Andy-Jost requested review from leofang, mdboom and rwgk and removed request for leofang, mdboom and rwgk October 14, 2026 20:32
Comment on lines +13 to +14
build. On Python 3.15, ``cuda.core`` requires ``cuda.bindings`` 13.4.4 or
newer, the first release with Python 3.15 wheels, so Python 3.15 is

@mdboom mdboom Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I guess we should make a cuda_bindings 12.9.10 release as well...?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

See this preparation for the 12.9.10 release: #3112

Cherry-pick NVIDIA#2896 (7c4691b, cupti64_2026.3.1.dll) and NVIDIA#2982
(48f55a3, cusparseLt_13.dll). Current CUPTI and cuSPARSELt wheels
ship these names, and the Windows pathfinder all_must_work tests fail
without them. 13.4.x carries the same fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the cuda.pathfinder Everything related to the cuda.pathfinder module label Oct 14, 2026

This branch has not been deployed

No deployments
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 cuda.pathfinder Everything related to the cuda.pathfinder module feature New feature or request P0 High priority - Must do!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants