Drop cu130 from the CUDA build matrix - #4777
Open
shoumikhin wants to merge 1 commit into
Open
shoumikhin wants to merge 1 commit into
shoumikhin wants to merge 1 commit into
Conversation
PyTorch announced that it is removing CUDA 13.0 (cu130) from its nightly builds, and asked anyone who pins cu130 to move to cu132. The cu130 test channel is already gone. Linux cu130 nightlies came back on October 3, but only as a short-term hold for one downstream project, not as a supported channel. ExecuTorch follows PyTorch, so its cu130 wheels lag behind too. The build matrix still listed cu130. That has two effects. The matrix keeps building a channel PyTorch is retiring. And the daily job that moves the ExecuTorch pin forward needs a version that every listed channel has, so a lagging cu130 holds the pin back. This removes cu130 from the x86 and Arm CUDA lists in the matrix filter. The pin job reads the same lists, so the pin can move to the newest version that cu132 and cu134 share. Release wheels follow the same lists, so cu130 release wheels are dropped as well. The C++ tarballs keep cu130, because libtorch still ships it. Once the pin can move past cu130, anything that installs the pinned ExecuTorch from the cu130 index would break. So the places that still use cu130 move to cu132: - the docs workflow, which installs the pin on every push to main - the install-test-ext recipe in the justfile - the runtime wheel README - the default PyTorch index in pyproject.toml, with uv.lock regenerated - the install guides, the contributing guide and the example install hints A test now checks that the pin job rejects cu130, so putting it back in the lists fails a test. The Jetson cu126 path is unchanged. Test plan: - Ran the pin, pin update, shared runtime workflow, API and packaging test suites. The new cu130 rejection case fails when cu130 is put back in the lists. - Dry-ran the docs, justfile and README install commands for Linux. With a pin that only cu132 and cu134 have, they fail against cu130 and resolve against cu132. - Regenerated uv.lock with the uv version CI uses, on Linux, and checked it with `uv lock --check`.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
PyTorch announced that it is removing CUDA 13.0 (cu130) from its nightly builds, and asked
anyone who pins cu130 to move to cu132. The cu130 test channel is already gone. Linux cu130
nightlies came back on October 3, but only as a short-term hold for one downstream project,
not as a supported channel. ExecuTorch follows PyTorch, so its cu130 wheels lag behind too.
The build matrix still listed cu130. That caused two problems:
channel has. A lagging cu130 holds the pin back, even when cu132 and cu134 already have
newer wheels.
Solution
Remove cu130 from the x86 and Arm CUDA lists in the matrix filter. The pin job reads the same
lists, so the pin can move to the newest version that cu132 and cu134 share.
Release wheels follow the same lists, so cu130 release wheels are dropped as well, on every
platform. The C++ tarballs keep cu130, because libtorch still ships it.
Once the pin can move past cu130, anything that installs the pinned ExecuTorch from the cu130
index would break. So the places that still use cu130 move to cu132:
install-test-extrecipe in the justfilepyproject.toml, withuv.lockregeneratedA test now checks that the pin job rejects cu130, so putting it back in the lists fails a test.
The Jetson cu126 path is unchanged.
Testing
The new cu130 rejection case fails when cu130 is put back in the lists.
and cu134 have, they fail against cu130 and resolve against cu132.
uv.lockon Linux with the uv version CI uses, and checked it withuv lock --check.