Skip to content

CI: CUDA 13.4 prerelease toolkit install and wheel builds - #2432

Closed
Andy-Jost wants to merge 28 commits into
NVIDIA:mainfrom
Andy-Jost:ajost/ci-ctk-13.4-prerelease
Closed

CI: CUDA 13.4 prerelease toolkit install and wheel builds#2432
Andy-Jost wants to merge 28 commits into
NVIDIA:mainfrom
Andy-Jost:ajost/ci-ctk-13.4-prerelease

Conversation

@Andy-Jost

Copy link
Copy Markdown
Contributor

Summary

Teach CI how to install CUDA 13.4 Developer Preview and build wheels through the ordinary pipeline on all four platform combinations (Linux/Windows × x86_64/ARM64).

CUDA 13.4 preview is not published via the usual redistrib_*.json manifest:

  • Linux — Debian packages from packages.nvidia.com
  • Windows — local .exe installers (~3.6 GB each), extracted with 7-Zip into the existing mini-CTK layout

Key changes:

  • Add a prerelease channel to fetch_ctk, selected via cuda.build.channel in ci/versions.yml
  • Fold prerelease builds into the regular ci.yml matrix (all supported Python versions on Linux; Windows x86_64 re-enabled)
  • Add prepare-windows-ctk to warm the shared CTK cache before the Windows matrix
  • Add a Windows ARM64 canary build (windows-11-arm, Python 3.12, current-ctk-only)
  • Defer GPU runtime testing on Windows for prerelease; wheel builds are the goal for now

Related to #2431 (Mike is keeping that PR for his own iteration). This branch is for Andy's CI testing, especially Windows and ARM64.

Expected CI behavior

JobExpected result
fetch_ctk on all platformsShould succeed (toolkit download + setup)
Linux wheel buildsMay fail at compile until 13.4 bindings land (#2423)
Windows wheel buildsSame compile dependency; installer extraction is the new unknown
Windows GPU testsSkipped for prerelease channel
Windows ARM64 canaryRuns only when cuda.build.channel == prerelease

Test plan

  • Unit tests for fetch_ctk_redistrib.py preview installer resolution
  • Pre-commit / YAML lint locally
  • Verify Linux fetch_ctk succeeds in CI
  • Verify Windows installer download + 7-Zip extraction in CI
  • Confirm wheel compile succeeds once Prepare for CTK 13.4 #2423 merges

@github-actionsgithub-actionsBot added the CI/CD CI/CD infrastructure label Jul 27, 2026
@Andy-Jost

Copy link
Copy Markdown
ContributorAuthor

/ok to test

@Andy-Jost
Andy-Jostforce-pushed the ajost/ci-ctk-13.4-prerelease branch from eaba910 to 1ff67b7CompareJuly 27, 2026 21:36
@github-actionsgithub-actionsBot added cuda.bindings Everything related to the cuda.bindings module cuda.core Everything related to the cuda.core module cuda.pathfinder Everything related to the cuda.pathfinder module labels Jul 27, 2026
@Andy-Jost
Andy-Jost marked this pull request as draft July 27, 2026 21:37
@copy-pr-bot

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.

@Andy-Jost

Copy link
Copy Markdown
ContributorAuthor

/ok to test

3 similar comments
@Andy-Jost

Copy link
Copy Markdown
ContributorAuthor

/ok to test

@Andy-Jost

Copy link
Copy Markdown
ContributorAuthor

/ok to test

@Andy-Jost

Copy link
Copy Markdown
ContributorAuthor

/ok to test

@Andy-Jost
Andy-Jostforce-pushed the ajost/ci-ctk-13.4-prerelease branch from c43148f to c5539d7CompareJuly 28, 2026 00:01
@mdboom

Copy link
Copy Markdown
Contributor

/ok to test

@mdboom

Copy link
Copy Markdown
Contributor

/ok to test

mdboomand others added 13 commits July 28, 2026 11:46
Windows preview toolkits ship as local installers rather than redistributable
archives, so teach fetch-ctk to download and extract them and re-enable
Windows wheel builds in the ordinary CI matrix, including a win-arm64 canary.
The local preview installer bundles per-component archives rather than a
flat CUDAToolkit tree, so extract the needed component directories with 7-Zip
and merge them into the layout fetch_ctk expects.
Use a single 7-Zip pass, merge directly into the cache staging dir via a
separate work directory, and drop prerelease-only unit tests that CI already
exercises end to end.
Merge component libs into lib/x64 or lib/arm64 so cuda_bindings can find
cudart_static.lib, and bump the prerelease cache key to drop stale flat-lib entries.
Stale Windows prerelease caches were purged manually; the lib/x64 merge fix
remains in fetch_ctk_redistrib.py.
Promote the successful canary to the full Python matrix and describe its CUDA 13-only wheel path as a single-major build.
@Andy-Jost

Copy link
Copy Markdown
ContributorAuthor

/ok to test

@Andy-Jost
Andy-Jostforce-pushed the ajost/ci-ctk-13.4-prerelease branch from c9dbb28 to 3a074dfCompareJuly 28, 2026 18:47
@Andy-Jost

Copy link
Copy Markdown
ContributorAuthor

Superseded by #2437. The CUDA 13.4 prerelease integration landed on the protected 13.4.x branch and was tagged v13.4.0b1.

@Andy-Jost
Andy-Jost deleted the ajost/ci-ctk-13.4-prerelease branch July 29, 2026 19:28
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CDCI/CD infrastructurecuda.bindingsEverything related to the cuda.bindings modulecuda.coreEverything related to the cuda.core modulecuda.pathfinderEverything related to the cuda.pathfinder module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Andy-Jost@mdboom@rwgk