Skip to content

[release/1.6] Fix the Windows CUDA CI jobs (cherry-pick #24238) - #24266

Merged
JacobSzwejbka merged 1 commit into
release/1.6from
cherry-pick-24238-release-1.6
Oct 29, 2026
Merged

JacobSzwejbka merged 1 commit into
release/1.6from
cherry-pick-24238-release-1.6

Conversation

@JacobSzwejbka

Copy link
Copy Markdown
Contributor

Cherry-pick of #24238 onto release/1.6, preserving the original author and recording the merged source commit 0db7a88ff808ecd39fc61e794952cbe033bb4619.

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.py parses, and git diff --check passes. 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.

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)
@pytorch-bot

pytorch-bot Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

🔗 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 Pending

As of commit e9dcda8 with merge base 4db778e (image):
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 28, 2026
@JacobSzwejbka
JacobSzwejbka merged commit d2e49e0 into release/1.6 Oct 29, 2026
456 of 459 checks passed
@JacobSzwejbka
JacobSzwejbka deleted the cherry-pick-24238-release-1.6 branch October 29, 2026 00:19

This branch was previously deployed

1 inactive deployment
cadence — e9dcda88 Deployed Oct 29, 2026 by JacobSzwejbka via hifi-op-test / hifi4 #35186
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants