Skip to content

Prepare cuda.core v1.2.1 with Windows on ARM support - #2935

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

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

Conversation

@Andy-Jost

Copy link
Copy Markdown
Contributor

Summary

Patch release of cuda.core 1.2.0 that adds Windows on ARM (win_arm64) wheels. The branch starts at the cuda-core-v1.2.0 tag and carries a minimal set of changes; everything else on main waits for 1.3.0.

Cherry-picked from main:

From the CUDA 13.4 integration (#2437, #2788 via #2789):

  • Map the ClocksEventReasons values BOARD_LIMIT and RELIABILITY added in CUDA 13.4. Reading a device's clock-event reasons raised ValueError for an unknown reason bit on hardware that reports them.
  • Map the NVIDIA DLA, vGameDev and NPU brand types instead of "Unknown".
  • Test updates: accept the DLA- UUID prefix, exclude the new memory-location enum value from the coverage check, and cover Device.get_all_devices.

Build and docs:

  • Build every wheel against CUDA 13.4.2 (ci/versions.yml and the pixi pins). Windows on ARM toolkits start at 13.4, and one toolkit for all platforms avoids a mixed release.
  • 1.2.1 release notes and the install page: Windows on ARM wheels are CUDA 13 only, Python 3.11 and newer, and need cuda-bindings 13.4.1 or newer.

Validation

  • pre-commit run --all-files passes.
  • Requested before tagging: install a cuda-core-python3XX-win-arm64-* wheel from this PR's CI run on a Windows on ARM system with cuda-bindings 13.4.2 and run the cuda_core test suite. The clock-event and brand fixes address the failures seen there with 1.2.0.

Release plan

Merge here, tag cuda-core-v1.2.1 on the merge commit, wait for the tag-triggered CI run, run the release workflow in dry-run mode, then release.

🤖 Generated with Claude Code

Andy-Jost and others added 9 commits September 22, 2026 11:19
Since 1.2.0, Buffer.from_handle binds a default-stream deallocation
token to the current context for every owning memory resource. Memory
the device cannot access has no stream ordering to preserve, so skip the
binding when mr.is_device_accessible is False. Such buffers record no
deallocation stream and never call the driver.

Fixes NVIDIA#2769

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
(cherry picked from commit 3fef50b)
(cherry picked from commit 9d762dd)
(cherry picked from commit 7cfdad7)
Release branch off the cuda-core-v1.2.0 tag. Windows on ARM wheels need
the CUDA 13.4 toolkit, so the build moves to CUDA 13.4.2 for every
platform (ci/versions.yml and the pixi cuda-version pins). The WoA build
jobs themselves are cherry-picked from main in the preceding commits.

From the CUDA 13.4 integration on main (NVIDIA#2437, NVIDIA#2788, merged via NVIDIA#2789):
- Map the ClocksEventReasons BOARD_LIMIT and RELIABILITY values that
  CUDA 13.4 added. Device.current_clock_event_reasons and
  Device.supported_clock_event_reasons raised ValueError for an unknown
  reason bit on devices that report them.
- Map the NVIDIA DLA, vGameDev and NPU brand types instead of "Unknown".
- Test updates: accept the "DLA-" UUID prefix, exclude the new 13.4
  memory-location enum value from the coverage check, and cover
  Device.get_all_devices.

The 1.2.1 release notes and the install page describe the new wheels:
CUDA 13 only, Python 3.11 and newer, cuda-bindings 13.4.1 or newer.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Scheduled pixi update --no-install for this workspace only.

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
(cherry picked from commit 04d4753)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Scheduled pixi update --no-install for this workspace only.

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
(cherry picked from commit 7aa0648)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Andy-Jost Andy-Jost added this to the cuda.core 1.2.1 milestone Sep 22, 2026
@Andy-Jost Andy-Jost added P0 High priority - Must do! cuda.core Everything related to the cuda.core module labels Sep 22, 2026
@Andy-Jost Andy-Jost self-assigned this Sep 22, 2026
@Andy-Jost Andy-Jost added the feature New feature or request label Sep 22, 2026
@github-actions github-actions Bot added CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module labels Sep 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This branch builds with CUDA 13.4.2 but tests on 13.3.0, so the test
jobs install published cuda-bindings 13.3.x to cover the real-world
combination. No 13.3.x wheel exists for Python 3.15, so the three 3.15
and 3.15t test jobs fail at pip install before any test runs. 1.2.1
ships no 3.15 wheels, so nothing is lost; the 3.15 build jobs remain.

Co-Authored-By: Claude Fable 5.1 <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.bindings Everything related to the cuda.bindings module cuda.core Everything related to the cuda.core module feature New feature or request P0 High priority - Must do!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants