Skip to content

cuda.bindings: build 12.9 and 13.x selectively from main - #2675

Draft
kkraus14 wants to merge 4 commits into
NVIDIA:pull-request/2467from
kkraus14:agent/cuda-bindings-12-on-main
Draft

cuda.bindings: build 12.9 and 13.x selectively from main#2675
kkraus14 wants to merge 4 commits into
NVIDIA:pull-request/2467from
kkraus14:agent/cuda-bindings-12-on-main

Conversation

@kkraus14

Copy link
Copy Markdown
Collaborator

Summary

  • import the maintained CUDA 12.9 bindings tree from 238955935bd903ac72817c0dfdfe4f6a54ee6bb1 as cuda_bindings_12/
  • apply the repository's current Apache-2.0 license text and SPDX policy to the imported package
  • extend the selective-CI workplan from ci: activate dependency-aware package builds and tests #2467 with cu12 and cu13 variants while preserving its aggregate module gates
  • build, test, document, and release the CUDA 12.9 and CUDA 13 bindings/metapackage pairs from main
  • retain the 12.9.x branch for exceptional legacy-compatibility backports, while removing it from routine build and test artifact sourcing

Selective CI behavior

Change Bindings built/tested Matching cuda-python pair Other bindings line
cuda_bindings_12/** source CUDA 12 CUDA 12 reused from the #2467 baseline
cuda_bindings/** source CUDA 13 CUDA 13 reused from the #2467 baseline
shared bindings consumers or CI infrastructure CUDA 12 and 13 CUDA 12 and 13 as needed n/a

The existing modules.bindings.needs_* rollups remain available to #2467 consumers. Per-major decisions live under modules.{bindings,core,python}.variants.{cu12,cu13}, and wheel/sdist matrices are pruned with the corresponding job-level major gates. Core's two build halves are rebuilt together when either bindings line changes so the merged core wheel always comes from one source revision.

Stable v12.9.* tags select only the CUDA 12 bindings/metapackage pair, while v13.* tags select only the CUDA 13 pair. Exact configured CUDA 12.9 and CUDA 13 test rows consume current-run artifacts; older compatibility rows continue to exercise published wheels.

Validation

  • repository pre-commit suite (SPDX, generated seals, Ruff, YAML/TOML, RST, large-file policy, and actionlint)
  • pixi run python -m unittest ci/tools/tests/test_compute_ci_plan.py (6 tests)
  • release-note routing tests (33 tests)
  • CUDA 12 Pixi source build/import and Cython extension build on Linux with Python 3.14
  • CUDA 12 and CUDA 13 cuda-python wheel metadata checks for line-matched dependencies
  • current CUDA 12/current CUDA 13/older-minor environment-routing smoke checks

The full GPU wheel matrix is left to CI.

Depends on #2467.

Closes #1199.

@kkraus14 kkraus14 added enhancement Any code-related improvements CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module labels Aug 20, 2026
@copy-pr-bot

copy-pr-bot Bot commented Aug 20, 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.

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 enhancement Any code-related improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant