Repository navigation
[release/1.6] Fix the Windows CUDA CI jobs (cherry-pick #24238) - #24266
Merged
Merged
Conversation
The Windows CUDA CI jobs (`test-model-cuda-windows-e2e` and `unittest-cuda-runtime-windows`) and the Python 3.15 Windows CUDA wheels fail on main, and the model test had been passing without running a model. Five problems stack up. This PR fixes them, one commit each. **1. setup.py calls a function that does not exist.** The `distutils` `log` module has `warn()` but no `warning()`, so a Windows CUDA build without ninja stops with `AttributeError: module 'distutils.log' has no attribute 'warning'`. The fix calls `log.warn()`. **2. The jobs ask for a CUDA toolkit the runner no longer has.** The Windows GPU runner image now installs only CUDA 13.2 and 13.4, the versions the Windows CUDA wheels are built for. The jobs still pointed `CUDA_HOME` at 13.0 and stopped with `CUDA version mismatch. Expected: 13.0, Actual: 13.4`. The fix moves both jobs to 13.2. The Linux export job keeps 13.0; its program loads `cudart64_13.dll`, which 13.2 provides. **3. The CUDA example runners cannot start on Windows.** The runners copied `aoti_cuda_shims.dll` next to themselves, but not `extension_cuda.dll`, which they also need since it became a shared library. The fix copies `$<TARGET_RUNTIME_DLLS>`, the ExecuTorch DLLs the runner links, as the C++ guide already does. **4. The model test could not fail.** A runner that exited with an error was only a warning, and an empty output passed the check. The fix fails on a nonzero exit code and on empty output. It also installs the NVIDIA driver, as the other Windows GPU jobs do. **5. The Windows CUDA wheels stopped building for Python 3.15.** On the new runner image, the pinned test-infra commit installs the Python 3.15.0rc2 release candidate, and its download fails. The fix moves the pin to a test-infra commit that installs the final 3.15 release. Test plan: the Windows CUDA jobs on this PR. (cherry picked from commit 0db7a88)
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/24266
Note: Links to docs will display an error until the docs builds have been completed. ⏳ No Failures, 167 PendingAs of commit e9dcda8 with merge base 4db778e ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
shoumikhin
approved these changes
Oct 28, 2026
This branch was previously 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.
Cherry-pick of #24238 onto
release/1.6, preserving the original author and recording the merged source commit0db7a88ff808ecd39fc61e794952cbe033bb4619.This brings all five Windows CUDA fixes to the release: the distutils logging call, CUDA 13.2 selection for the installed runner toolkits, copying the required ExecuTorch DLLs beside the example runners, driver installation and reliable model-test failure checks, and the test-infra pin that supports final Python 3.15 wheel builds. Linux model exports retain CUDA 13.0.
Validation: the cherry-pick applied without conflicts and its stable patch ID matches the merged source commit exactly. Both changed workflows parse,
setup.pyparses, andgit diff --checkpasses. A merge-tree check with the open release dependency PR #24199 is clean. Windows GPU tests and wheel builds require CI.Cherry-pick prepared with Codex assistance; original implementation by Anthony Shoumikhin.