Skip to content

cuda.bindings: backport CUDA 12 runtime maintenance fixes - #3182

Draft
rwgk wants to merge 3 commits into
rwgk/cb12-on-main-07-maintenance-policyfrom
rwgk/cb12-on-main-08-runtime-maintenance
Draft

rwgk wants to merge 3 commits into
rwgk/cb12-on-main-07-maintenance-policyfrom
rwgk/cb12-on-main-08-runtime-maintenance

Conversation

@rwgk

@rwgk rwgk commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Highlights

Separate three CUDA 12 runtime backports from the source/build integration in #3173. Each fix has its own commit; the existing focused regression tests move with the relevant fixes. This keeps the migration review focused while preserving the previously integrated behavior.

  • Accept byte-string compiler options alongside strings, retaining the nvJitLink regression and NVVM bytes-options case.
  • Retain borrowed coredump setter buffers and release getter-owned storage.
  • Preserve exceptions raised inside registered handle getters instead of misreporting an unknown handle type.

Provenance and Review Scope

These changes were already present in the staged #2737 implementation; this PR relocates them without further runtime changes.

Fix Earlier upstream change Coverage retained here
Byte-string compiler options #1665, #1698 nvJitLink bytes-options test and NVVM parameterized case
Coredump buffer ownership #2399 Existing API tests remain; ordinary round-trip tests do not detect the getter leak
Registered handle-getter errors #2551 Focused regression proving an internal KeyError propagates

The coredump change has no new memory-instrumentation test. Upstream removed an ineffective lifetime regression test; a normal functional round trip would also pass with the getter leak. This extraction preserves that validation boundary.

Runner-specific NVML test maintenance belongs to #3176. The Windows constant declaration remains in #3173 because its Cython warning would otherwise fail the newly enabled warnings-as-errors build.

Stack / Review Boundary

Layer 8 of 8 in native stack #3179, based on #3178. The stack is rebased onto main dfad7e3658a9. This layer's diff and the complete CUDA 12 source tree are unchanged by the rebase; #3178 records current local checks and earlier integrated QA.

Validation

Full hosted CI passes at #3182 for this exact head, 785641713c4d, on its first attempt: all 28 wheel builds, the CUDA 12/CUDA 13 GPU matrix, source-distribution checks, and documentation checks passed. Full hosted CI passes at #3176 for the earlier merge group.

At this head, 436 CI-tool tests and 55 subtests pass, together with full local pre-commit. #3178 removes the active legacy backport setting while retaining compatibility with earlier schema-2 tagged registries. #3176 bounds the cuDSS test dependencies to the loader's supported ABI.

  • Full local pre-commit run --all-files --show-diff-on-failure passes, including Lychee.
  • Comparison with the pre-rebase head confirms that this layer's diff and the complete CUDA 12 source tree are unchanged.
  • The narrowed cuda.bindings: integrate CUDA 12 source with shared build tooling #3173 also passes full local pre-commit; its earlier build-helper suite passed with 75 passed and 3 skipped.

Checklist

  • Existing regression tests move with the corresponding runtime changes.
  • The description records provenance, scope, and validation limits.

@rwgk rwgk added this to the cuda.bindings next milestone Oct 21, 2026
@rwgk rwgk added bug Something isn't working cuda.bindings Everything related to the cuda.bindings module labels Oct 21, 2026
@rwgk rwgk self-assigned this Oct 21, 2026
@copy-pr-bot

copy-pr-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

rwgk added 3 commits October 21, 2026 21:25
Carry forward the runtime behavior from #1665/#1698 with its nvJitLink regression and NVVM bytes-options case. Extracted from #3173 so source integration can be reviewed independently.

Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Carry forward #2399: retain borrowed setter bytes and release getter-owned storage. Keep this runtime maintenance separate from the build integration.

Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Carry forward #2551 and its regression test. A KeyError inside a registered getter must propagate instead of being reported as an unknown handle type.

Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
@rwgk
rwgk force-pushed the rwgk/cb12-on-main-08-runtime-maintenance branch from 697e3bd to 7856417 Compare October 22, 2026 04:26
@rwgk

rwgk commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 7856417

@github-actions

Copy link
Copy Markdown
Contributor

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

bug Something isn't working cuda.bindings Everything related to the cuda.bindings module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant