Skip to content

[no-ci] Prepare cuda.core v1.2.2 with Python 3.15 support - #3108

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

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

Conversation

@Andy-Jost

@Andy-Jost Andy-Jost commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

On hold: [no-ci] stays in the title until cuda-bindings 12.9.10 has cp315 wheels on PyPI. The CUDA 12 Python 3.15 jobs install that release, so they cannot pass before then. Then the prefix comes off, CI runs, and this merges.

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 on CUDA 12.9.1 and 13.4.2 (linux-64 3.15 and 3.15t, win-64 3.15). Like every other job on this branch, they test against published cuda-bindings, here 12.9.10 and 13.4.4, the first releases with cp315 wheels and the ones users get on Python 3.15. For these test versions env-vars would pick CI-built bindings, so 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 12.9.10 and 13.4.4 release CI.
  • Cherry-pick Add pathfinder support for cupti64_2026.3.1.dll (CTK 13.4.1) #2896 and Add cusparseLt_13.dll #2982: pathfinder learns cupti64_2026.3.1.dll and cusparseLt_13.dll. Current CTK wheels ship these names, and the Windows pathfinder tests fail without them. 13.4.x carries the same fixes.
  • 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 12.9.10 or newer for CUDA 12, or 13.4.4 or newer for CUDA 13.

Release plan

Remove [no-ci] and run CI once the 12.9.10 cp315 wheels are on PyPI, 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. Follow-up #3109 adds 1.2.2 to the docs version switcher on main, with 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
@github-actions

Copy link
Copy Markdown
Contributor

@rwgk rwgk left a comment

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.

This looks good to me, pending Python 3.15 support for CUDA 12.

(Note that I triggered a rerun to resolve a lychee flake in the doc build; we don't have #2993 on this branch; which is fine.)

@Andy-Jost Andy-Jost changed the title Prepare cuda.core v1.2.2 with Python 3.15 support [no-ci] Prepare cuda.core v1.2.2 with Python 3.15 support Oct 15, 2026
cuda-bindings 12.9.10 adds cp315 wheels, so Python 3.15 is no longer
CUDA 13 only. Add CUDA 12.9 Python 3.15 and 3.15t test jobs against
the published 12.9.* release, and name both bindings floors in the
install page and the 1.2.2 release notes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Andy-Jost added a commit to Andy-Jost/cuda-python that referenced this pull request Oct 15, 2026
cuda-bindings 12.9.10 adds cp315 wheels, so Python 3.15 is no longer
CUDA 13 only. Match the 1.2.2 release notes in NVIDIA#3108.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

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.

3 participants