Skip to content

build: enable CUDA 12 development with utility fixes - #3315

Merged
rwgk merged 9 commits into
mainfrom
rwgk/cb12-staged-02-developer
Nov 6, 2026
Merged

rwgk merged 9 commits into
mainfrom
rwgk/cb12-staged-02-developer

Conversation

@rwgk

@rwgk rwgk commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

— codex GPT-6 on behalf of Ralf —

Layer 2 of 7 of the staged "CUDA 12 bindings on main" stack. Previous: #3314. Next: #3317. Stack map at the bottom.

What this PR does

Makes cuda_bindings_12/ a place a developer can actually work in on main: install it, run its tests, build its docs. It also carries the three runtime fixes that CUDA 13 already has, and the NVML test adaptations the current CI runners need.

The three runtime fixes are also isolated in #3355 (12.9.x) and #3356 (main). They remain here until #3356 lands; rebasing afterward will remove the duplicated runtime changes from this migration layer.

Size: 38 files, +14,028 / -157 of which 13,185 lines are the new cuda_bindings_12/pixi.lock. The hand-written part is about 850 lines, roughly half of it documentation.

After this merges

  • Developers: pixi run --manifest-path cuda_bindings_12 -e cu12 test, or python -m pip install -e . --group test inside cuda_bindings_12/, work.
  • CI: wheel builds, GPU tests, and releases are unchanged. cuda.core still gets its CUDA 12 bindings from the 12.9.x branch. New: the PR-time CPU smoke job also source-builds the CUDA 12 root.
  • CUDA 13 package versions are unchanged.

Where to look

  • cuda_bindings_12/pyproject.toml: the Python 3.11 floor and the v12.* selector.
  • The three runtime diffs under cuda_bindings_12/cuda/bindings/ (31 lines total), side by side with their CUDA 13 counterparts.
  • cuda_core/pixi.toml: Core's pixi run test now collects tests/ instead of the package root. This retains Core's owned Python and Cython tests while excluding vendored CCCL tests.
All changes (38 files; 37 without the lockfile, +843 / -157)

Tooling: ci/pyproject.toml (new), ci/tools/bindings_config.py (JSON CLI, python.supported), ci/tools/check_pixi_cuda_version.py (both roots), ci/tools/compute_ci_plan.py (map cuda_bindings_12/ to the bindings module), tests for the registry CLI, removal of a workflow-text test.

Workflows: ci-pixi-source-test.yml (cu12/cu13 matrix for build-smoke and full-test, safe.directory), ci.yml and ci-nightly.yml (install ./ci[test] for the tool tests), .pre-commit-config.yaml (pixi hook paths, large-file exception for the lockfiles).

Package: cuda_bindings_12/pyproject.toml, pixi.toml (new), pixi.lock (new), tests/pytest.ini (thread_unsafe marker), runtime fixes in _internal/utils.pyx, _lib/utils.pxd, _lib/utils.pxi, utils/__init__.py, tests in test_nvjitlink.py, test_nvvm.py, test_utils.py, test_cuda.py, NVML tests.

Pixi: root pixi.toml (test-bindings root selection), cuda_core/pixi.toml (test task scope).

Docs: AGENTS.md, README.md, cuda_bindings_12/AGENTS.md (new), cuda_bindings_12/README.md, docs/source/install.md, support.rst, release/12.X.Y-notes.rst.

Validation
  • Full CI passed at the pre-rebase head 4e22130d (run 41183676173, 104 jobs).
  • The pixi source-build workflow was dispatched manually for cu12 at that head (run 41183098858): build smoke (cu12), pixi run test (cu12, GPU), and the cu13/cu12/cu13 round trip all passed. Three earlier dispatches at intermediate commits failed or were cancelled; the fixes they produced (safe.directory, root task forwarding, Core test scope) are included in this layer.
  • Local validation at 1201c7910be4bb889ef480e9f505cb5a02582640: 316 CI-tool tests and configured workflow lint passed. Full-stack CI on #3322 passed at 126ed74fb5bbfbc91a04e50557cf936efef4da7f (105 successful jobs; one expected skip).
Stack map: what main can do after each layer merges
Layer PR After it merges, main ...
1 #3314 behaves exactly as before; CI has one reader for the two bindings roots; CUDA 13 versions can no longer match a v12.* tag
2 #3315 lets a developer build, test, and document cuda_bindings_12/; the PR-time CPU source-build smoke covers both roots; three CUDA 12 runtime fixes are in
3 #3317 builds the CUDA 12 bindings wheel itself and runs its GPU tests; cuda.core and the metapackage still consume 12.9.x artifacts
4 #3318 uses same-run CUDA 12 wheels everywhere; PR CI no longer reads the 12.9.x branch
5 #3319 can release CUDA 12 from a v12.9.N tag on main; CUDA 13 releases are unchanged
6 #3321 builds and tests only what a change needs, per bindings root, reusing baseline artifacts
7 #3322 carries the schema-2 registry, a manual-only backport workflow, a metadata consistency hook, and the maintenance docs; 12.9.x is frozen

Every layer was designed to be mergeable on its own and had a green full CI run at its pre-rebase head on 2026-10-31. The stack is the "individually mergeable pieces" alternative to #3174-#3182; both stacks reach the same end state except that this one keeps compatibility routes for older artifact sources and retained CUDA 13 tags.

@rwgk
rwgk added this pull request to stack #3316 October 31, 2026 05:02
@copy-pr-bot

copy-pr-bot Bot commented Oct 31, 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.

@github-actions github-actions Bot added CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module labels Oct 31, 2026
@rwgk rwgk added this to the cuda.bindings next milestone Oct 31, 2026
@rwgk rwgk added the enhancement Any code-related improvements label Oct 31, 2026
@rwgk rwgk self-assigned this Oct 31, 2026

rwgk commented Oct 31, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test b7c7625

rwgk commented Oct 31, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test eaf85d9

@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor
Doc Preview CI
Preview removed because the pull request was closed or merged.

rwgk commented Oct 31, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 792b7d1

@github-actions github-actions Bot added the cuda.core Everything related to the cuda.core module label Oct 31, 2026

rwgk commented Oct 31, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 4e22130

@mdboom

mdboom commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

/ok to test

@mdboom mdboom 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.

The most important change request here is to drop the bindings_scm_version.py workaround.

The rest are less important, but quite straightforward.

if: ${{ matrix.cuda-env == 'cu12' }}
uses: ./.github/actions/setup-hardened-python
with:
python-version: "3.12"

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.

Why Python 3.12? Odd choice. I think the best conservative choice is 3.11.

@rwgk rwgk Nov 4, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

The bootstrap-only Python setup has now been removed along with the helper.

Comment thread ci/tools/bindings_scm_version.py Outdated
@@ -0,0 +1,124 @@
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

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.

As I said in my review of #3176, this whole lengthy file exists because we don't have a 12.9.x tag on main. The response there was one of timing, that we couldn't remove this until after the logic to ignore 12.9.x was in the cuda_bindings_13 project. However, in this new stack, that is part of #3314, so I think we can merge #3314, add the tag to main, and then proceed with this but /without/ all of this complexity.

@rwgk rwgk Nov 4, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Agreed: this split provides an earlier route. #3314 is now merged, the retained v12.9.11a0 milestone is on main, and both alternatives are restacked onto that tagged history. The helper, its tests, callers and bootstrap metadata are removed; versions now follow standard setuptools-scm progression.

for i, obj_i in enumerate(obj):
if ResT is char:
obj_i_bytes = (<str?>(obj_i)).encode()
obj_i_type = type(obj_i)

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.

All of the changes to shipping CUDA bindings 12 code here are much higher risk than the other ones. My agent tells me that these were made just to bring 12 more consistent with 13, but are not strictly necessary to make the tests pass on this branch. On that basis, it would generally be preferable to separate them out (so that git bisect can find any unintentional breakage independently of the build/CI system changes).

However, as much as that worries me, I think as long as the tests are passing on this branch, I would be ok with merging this, but let's update the PR title/commit message to call out that the scope includes library code.

If the tests don't pass with these changes, I would advocate reverting them and coming back to them after the whole stack is merged.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

The three fixes are now isolated in #3355 against 12.9.x and #3356 against main, with focused tests and release notes. Both rebuilt with CUDA 12.9 and passed 94 local tests; hosted #3355 passed all 58 CI jobs, including the GPU regression paths. This migration layer still carries the same changes until #3356 lands, after which a rebase removes that duplication. Its title and description disclose the runtime scope.

Comment on lines +8 to +9
``cuda-bindings`` Upcoming CUDA 12 Release Notes
================================================

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.

Revert.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Restored the 12.X.Y Release notes template heading while retaining the substantive release notes. implementation.

Comment thread cuda_bindings_12/pyproject.toml Outdated
Comment on lines 50 to 57
test = [
"cython>=3.2,<3.3",
"setuptools>=77.0.0",
"cython>=3.2.5,<3.3",
"setuptools>=80.0.0",
"numpy>=1.21.1",
"pytest>=6.2.4",
"pytest==9.1.0",
"pytest-benchmark>=3.4.1",
"pytest-subtests>=0.11.0",
"pyglet>=2.1.9"
]

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 is now duplicated in dependency-groups below. I think it can just be removed.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Removed the duplicated test extra. Installation instructions use the dependency group and state the pip prerequisite. implementation; instructions.

Comment thread cuda_bindings_12/pyproject.toml Outdated
# We deliberately do not want to include the version suffixes (a/b/rc) in cuda-bindings versioning
tag_regex = "^(?P<version>v\\d+\\.\\d+\\.\\d+)"
git_describe_command = ["git", "describe", "--dirty", "--tags", "--long", "--match", "v*[0-9]*"]
git_describe_command = ["git", "describe", "--dirty", "--tags", "--long", "--match", "v12.9.*"]

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.

Ditto to my comment on #3314 -- it would be preferable for this to be v12.* (though less important because a 12.10 will never happen).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Changed the maintenance selector to v12.*, consistently with the CUDA 13 selector, metadata check and metapackage table. implementation.

Comment thread AGENTS.md Outdated
Comment on lines +65 to +67
when its tag is not reachable from `main`. Update `scm-bootstrap-release`
before another build if such a release consumes its target; do not bump the
field per PR or use it to override suitable reachable tags.

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 don't understand this sentence.

@rwgk rwgk Nov 4, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Replaced the bootstrap-specific instructions with retained-milestone guidance. The v12.9.11a0 milestone is now on main; the helper and scm-bootstrap-release field are removed in both alternatives. Alpha tags remain internal, and pushed tags remain immutable.

Comment thread AGENTS.md Outdated
Comment on lines +68 to +71
- Moving a package's SCM selector to a new toolkit minor also needs a matching
reachable milestone. Updating the selector alone can produce an incorrect
placeholder version. Validate previews with local tags in an independent
disposable clone until the release history supplies the right milestone.

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.

What about this design is enforcing this requirement? It would be great to fix this because it negates a large part of the usefulness of setuptools-scm.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Removed that requirement: major-scoped selectors preserve normal setuptools-scm progression across toolkit-minor updates. implementation.

Comment thread AGENTS.md Outdated
Comment on lines +72 to +75
- For a newly integrated maintenance root, create its first retained internal
milestone only after the integration group has landed and been validated on
`main`. Retained tag creation requires an explicit maintainer decision;
preparation of a PR stack does not authorize creating or pushing it.

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 don't think we will ever have another "newly integrated maintenance root". Our next maintenance root will be cuda_bindings_13, which is already here. So maybe just remove this paragraph?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Removed the speculative newly-integrated-root rule and described the concrete selector-isolation prerequisite instead. implementation.

Comment thread README.md Outdated
## Bindings source roots

Current CUDA 13 bindings live in [`cuda_bindings_13/`](cuda_bindings_13/), and
CUDA 12.9 sources have a separate

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.

Suggested change
CUDA 12.9 sources have a separate
CUDA 12 bindings sources have a separate

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Used “CUDA 12 bindings sources have a separate …”. implementation.

@rwgk
rwgk force-pushed the rwgk/cb12-staged-02-developer branch from 968ad32 to 1201c79 Compare November 4, 2026 06:08
@rwgk rwgk changed the title build: enable CUDA 12 development from main build: enable CUDA 12 development with utility fixes Nov 4, 2026

@rwgk rwgk left a comment •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

— codex GPT-6 on behalf of Ralf —

Thanks for the review. All ten inline comments now have direct replies. The smaller development/packaging changes are applied; the runtime fixes are isolated in #3355 (12.9.x, green CI) and #3356 (main).

The main simplification from your review is now complete: #3314 is merged, the retained v12.9.11a0 milestone is on main, and both alternatives are restacked onto it. The helper, tests, callers and temporary metadata are removed.

rwgk commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 12b2bdc

Base automatically changed from rwgk/cb12-staged-01-config to main November 6, 2026 16:37

@mdboom mdboom 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.

Looks good in terms of addressing my first round of concerns.

Not approving just yet, because we need to do this and remove the whole bindings_scm_version.py thing from here before we continue.

rwgk added 9 commits November 6, 2026 08:55
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
@rwgk
rwgk force-pushed the rwgk/cb12-staged-02-developer branch from 12b2bdc to efebacc Compare November 6, 2026 18:02

rwgk commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test efebacc

@mdboom mdboom 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.

LGTM

@rwgk
rwgk marked this pull request as ready for review November 6, 2026 19:11
@coderabbitai

coderabbitai Bot commented Nov 6, 2026

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Summary

Summary by CodeRabbit

  • New Features

    • Added a CUDA 12.9 bindings development environment alongside the CUDA 13 environment. Both build the same distribution and Python namespace, and should be developed and tested separately.
  • Bug Fixes

    • Improved handling of byte and string options for nested resources, coredump settings, and registered native-handle getters.
  • Documentation

    • Updated CUDA 12 bindings guidance and Python support information. Python 3.11–3.15 is now supported; Python 3.10 is no longer listed.

The pull request adds a CUDA 12.9 bindings source root and integrates it with configuration checks, Pixi tasks, and CI workflows. It also updates CUDA 12 runtime behavior, test coverage, Python support declarations, and development documentation.

Changes: CUDA 12 bindings and CI

Layer / File(s) Summary
Bindings workspace and CI configuration
cuda_bindings_12/pixi.toml, cuda_bindings_12/pyproject.toml, ci/pyproject.toml, ci/tools/*, ci/tools/tests/test_bindings_config.py, .pre-commit-config.yaml
Adds the CUDA 12 workspace and package settings. The bindings configuration CLI exposes Python support and package data. The toolkit-pin checker and build planner include the CUDA 12 bindings root, with tests covering configuration, pins, and build planning.
Multi-environment CI and test commands
.github/workflows/ci-pixi-source-test.yml, .github/workflows/ci.yml, .github/workflows/ci-nightly.yml, pixi.toml, cuda_core/pixi.toml, ci/tools/tests/test_pixi_lockfile_freshness_workflow.py
Source-build and full-test jobs run for CUDA 12 and CUDA 13, or for the selected environment on manual dispatch. Pixi uses the selected bindings environment. CI test dependencies install through the ci[test] extra.
CUDA 12 runtime behavior and regression tests
cuda_bindings_12/cuda/bindings/_internal/utils.pyx, cuda_bindings_12/cuda/bindings/_lib/utils.pxd, cuda_bindings_12/cuda/bindings/_lib/utils.pxi, cuda_bindings_12/cuda/bindings/utils/__init__.py, cuda_bindings_12/tests/test_*.py
Nested char resources accept exact str and bytes values. Coredump settings retain setter-provided bytes and conditionally free getter buffers. Registered getter KeyError exceptions propagate. Tests cover byte-valued options and getter errors.
CUDA 12 test compatibility and execution
cuda_bindings_12/tests/nvml/*, cuda_bindings_12/tests/pytest.ini, cuda_bindings_12/tests/test_cuda.py
Updates NVML device matching and field access, skips the NVML reference-count test on driver versions 13.4 or newer, and marks process-global tests as thread-unsafe. Removes the energy-consumption test.
Support, development, and release documentation
AGENTS.md, README.md, cuda_bindings_12/AGENTS.md, cuda_bindings_12/README.md, cuda_bindings_12/docs/source/*, cuda_bindings_13/README.md
Documents the CUDA 12 source root, development setup, and release guidance. The CUDA 12 minimum supported Python version changes to 3.11, and test dependency instructions use pip’s --group test syntax.

Possibly related issues

  • NVIDIA/cuda-python#3374 — The changes drop Python 3.10 from CUDA 12 package support and documentation, which overlaps with the issue’s Python 3.10 removal objective.
  • NVIDIA/cuda-python#3221 — The pull request updates the same toolkit-pin checker, but it does not replace that check with blockwatch.

Suggested labels: feature, bug, github_actions, documentation, test

Suggested reviewers: rparolin

Change: Feature

Merge Risk: Minimal · up to efeba

This change makes the CUDA 12 bindings workspace usable on main and adds CI selection for it. No concrete merge-blocking risk was identified in the reviewed evidence.

Security architecture risk: Low · up to efeba

The reviewed changes keep CUDA 12 and CUDA 13 source builds in separate workspaces and retain the existing restrictions on GPU source-test execution. No introduced security defect was established. Effective workflow permissions and runner cleanup policies remain unverified, so the assessment is not a complete assurance of safety.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • observed — The reviewed execution exposure is developer environments and CI runners that build or test repository code. Existing wheel-CI callers retain read-only actions and contents permissions while inheriting secrets; the CUDA 12 planner mapping does not newly create that authority boundary because the base already routed unrecognized source paths to the full workplan.

Trust Boundaries and Controls

  • observed — The configuration CLI reads a caller-selected local file using safe YAML loading, derives package roots from integer toolkit components, and emits JSON. Its inspected implementation does not execute configuration values or introduce a network-facing entrypoint.
  • observed — The new Git safe.directory setting trusts only the checked-out workspace in the GPU source-test job. That job already executes repository code as root and retains its schedule/manual gate; the setting is not a new permission grant to pull-request CPU jobs.

Resilience and Maintainability Implications

  • observed — The nested option helper adds explicit str and bytes handling and copies their null-terminated contents into owned vectors before nvJitLink creation. The existing move-only resource wrapper carries ownership through the native call, keeping this extension within the caller's existing in-process native API authority.

Hardening Proposals

  • proposed — Declare explicit least-privilege token permissions in the source-test workflow so its authority does not depend on repository defaults. This is hardening for an unverified external policy, not an observed excessive-permission finding.
- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 960be69 and efebacc.

Files ignored due to path filters: 1

  • cuda_bindings_12/pixi.lock is excluded by !**/*.lock
Files selected for processing: 35

  • .github/workflows/ci-nightly.yml
  • .github/workflows/ci-pixi-source-test.yml
  • .github/workflows/ci.yml
  • .pre-commit-config.yaml
  • AGENTS.md
  • README.md
  • ci/pyproject.toml
  • ci/tools/bindings_config.py
  • ci/tools/check_pixi_cuda_version.py
  • ci/tools/compute_ci_plan.py
  • ci/tools/tests/test_bindings_config.py
  • ci/tools/tests/test_pixi_lockfile_freshness_workflow.py
  • cuda_bindings_12/AGENTS.md
  • cuda_bindings_12/README.md
  • cuda_bindings_12/cuda/bindings/_internal/utils.pyx
  • cuda_bindings_12/cuda/bindings/_lib/utils.pxd
  • cuda_bindings_12/cuda/bindings/_lib/utils.pxi
  • cuda_bindings_12/cuda/bindings/utils/__init__.py
  • cuda_bindings_12/docs/source/install.md
  • cuda_bindings_12/docs/source/release/12.X.Y-notes.rst
  • cuda_bindings_12/docs/source/support.rst
  • cuda_bindings_12/pixi.toml
  • cuda_bindings_12/pyproject.toml
  • cuda_bindings_12/tests/nvml/test_cuda.py
  • cuda_bindings_12/tests/nvml/test_init.py
  • cuda_bindings_12/tests/nvml/test_pynvml.py
  • cuda_bindings_12/tests/nvml/util.py
  • cuda_bindings_12/tests/pytest.ini
  • cuda_bindings_12/tests/test_cuda.py
  • cuda_bindings_12/tests/test_nvjitlink.py
  • cuda_bindings_12/tests/test_nvvm.py
  • cuda_bindings_12/tests/test_utils.py
  • cuda_bindings_13/README.md
  • cuda_core/pixi.toml
  • pixi.toml
Files with no reviewable changes: 2

  • ci/tools/tests/test_pixi_lockfile_freshness_workflow.py
  • cuda_bindings_12/tests/nvml/test_pynvml.py

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

@rwgk
rwgk merged commit 5518e2d into main Nov 6, 2026
225 of 227 checks passed
@rwgk
rwgk deleted the rwgk/cb12-staged-02-developer branch November 6, 2026 19:28
github-actions Bot pushed a commit that referenced this pull request Nov 7, 2026
Removed preview folders for the following PRs:
- PR #2951
- PR #3314
- PR #3315
- PR #3371
- PR #3392
- PR #3396
- PR #3397
- PR #3400
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 enhancement Any code-related improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants