Repository navigation
[RELEASE ONLY CHANGES] Finalize ExecuTorch 1.5 dependencies - #22724
Merged
Merged
Conversation
Pin the release dependency set and update the release documentation. Authored with Codex assistance.
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/22724
Note: Links to docs will display an error until the docs builds have been completed. ❌ 3 New Failures, 1 Cancelled Job, 52 PendingAs of commit d220ca0 with merge base 5cdcc02 ( NEW FAILURES - The following jobs have failed:
CANCELLED JOB - The following job was cancelled. Please retry:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 05:07 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 05:07 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 05:34 — with
GitHub Actions
Inactive
JacobSzwejbka
deployed
to
upload-benchmark-results
September 11, 2026 08:56 — with
GitHub Actions
Active
Keep wheel installation resolvable until the tokenizers 1.5 package is published, adapt Qwen CUDA export to TorchAO 0.18 matmul settings, and accommodate current Transformers annotations.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 17:52 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 17:52 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 18:18 — with
GitHub Actions
Inactive
JacobSzwejbka
deployed
to
upload-benchmark-results
September 11, 2026 19:15 — with
GitHub Actions
Active
Enable synchronous CUDA launches only for the Qwen3.5 end-to-end export so CI identifies the kernel that causes the PyTorch 2.14 illegal memory access. Revert the ineffective TF32 precision workaround.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 19:39 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 19:39 — with
GitHub Actions
Inactive
Keep Triton GEMM selection enabled without expanding pointwise and reduction autotuning under PyTorch 2.14. Add an explicit CUDA backend compile spec for the narrower setting.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 20:00 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 20:00 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 20:26 — with
GitHub Actions
Inactive
Drop the temporary launch-blocking setting now that the PyTorch 2.14 CUDA graph capture behavior is identified.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 20:39 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 20:39 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 21:05 — with
GitHub Actions
Inactive
Move compile-spec parsing into a small helper so the CUDA option builder stays below the cyclomatic complexity limit.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 21:34 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 21:34 — with
GitHub Actions
Inactive
The same Qwen3.5 illegal-memory-access failure is present on main after the PyTorch 2.14 update, so keep the release-only dependency PR from changing shared CUDA backend behavior.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 22:01 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 22:01 — with
GitHub Actions
Inactive
Keep Triton GEMM selection without enabling PyTorch 2.14's broader pointwise and reduction autotuning paths during the low-memory Qwen export.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 22:17 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 22:17 — with
GitHub Actions
Inactive
Avoid launching Inductor autotuning kernels against Qwen's released low-memory KV-cache storage under PyTorch 2.14. Keep the workaround local to the model exporter.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 22:22 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 22:22 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 11, 2026 22:47 — with
GitHub Actions
Inactive
Gasoonjia
approved these changes
Sep 11, 2026
JacobSzwejbka
deployed
to
upload-benchmark-results
September 12, 2026 00:01 — with
GitHub Actions
Active
Avoid the PyTorch 2.14 compile path that launches kernels against released Qwen KV-cache storage while retaining the required Triton GEMM lowering.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 12, 2026 01:04 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 12, 2026 01:04 — with
GitHub Actions
Inactive
Keep Qwen low-memory export enabled while forcing compile-time Triton autotuning so AOTI embeds kernels instead of retaining lazy references to temporary files.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 12, 2026 01:05 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 12, 2026 01:05 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 12, 2026 01:33 — with
GitHub Actions
Inactive
JacobSzwejbka
deployed
to
upload-benchmark-results
September 12, 2026 04:12 — with
GitHub Actions
Active
Restore the intended release dependency now that the 1.5.0 wheels are published on PyPI.\n\nAuthored with Codex assistance.
JacobSzwejbka
temporarily deployed
to
cadence
September 14, 2026 17:55 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 14, 2026 17:55 — with
GitHub Actions
Inactive
JacobSzwejbka
temporarily deployed
to
cadence
September 14, 2026 18:20 — with
GitHub Actions
Inactive
JacobSzwejbka
deployed
to
upload-benchmark-results
September 14, 2026 19:42 — with
GitHub Actions
Active
This was referenced Oct 27, 2026
JacobSzwejbka
added a commit
that referenced
this pull request
Oct 30, 2026
…24199) Release-only preparation for ExecuTorch 1.6.0 and PyTorch 2.15, following #21563 and #22724. Relates to #23608. Review the installer and `torch_pin.py` first: they select PyTorch 2.15.0, torchvision 0.29.2, torchaudio 2.11.1, and production PyTorch indexes. The full wheel requires `torch==2.15.0`, `torchao>=0.18.0`, and unpinned `pytorch-tokenizers`. The minimal wheel excludes torch and TorchAO. `pyproject.toml` documents these dynamically generated requirements. When `install_executorch.py --use-pt-pinned-commit` builds a CI wheel, its metadata instead pins the already installed source build so pip cannot replace the torch used to link its extensions. Ordinary release wheel metadata retains the exact stable torch pin. The PyTorch source pin is the final `v2.15.0` tag, `31a77fc9c0a7c6fff15a1ff58c743f53b1a9d457`, including the Inductor prefetch revert. The other dependency edits align QNN, TorchCodec 0.17.0, and the Windows smoke check with the release packages. CI follow-up: the branch now includes the current `release/1.6` cherry-picks, including the device placement tests that the release workflow already invokes. CUDA CI uses the published 13.2 and 13.4 channels and their verified available container images. Every CUDA install step constrains torch and its domain libraries to the selected local wheel variant; requesting an unpublished 12.6/13.0 variant fails before pip and directs source-build users to `--use-pt-pinned-commit`. The existing separate nightly TorchAO indexes and aarch64 CPU fallback are retained with the shared minimum requirement. ROCm CI uses the published torch 2.15.0+rocm7.14 wheel and the available ROCm 7.14 builder image. That channel has only Python-only TorchAO wheels, so both ROCm jobs build the existing pinned TorchAO source with `USE_CPP=1 USE_CPU_KERNELS=1` against the installed torch/HIP libraries. The CPU kernel option supplies the extension sources on ROCm; without it the pinned setup produces a Python-only wheel. The installer adds `rocm[devel]` at the already installed ROCm SDK version and uses `python -m rocm_sdk path --root` for the build and runtime paths, including the HIP linker library. The ROCm jobs use conda-forge GCC 16.2 with matching libstdc++/libgcc and a glibc 2.28 sysroot matching the builder image, avoiding the observed Red Hat GCC-toolset nonshared-library link failure when mixed with conda runtime libraries. The shared installer explicitly loads the resulting extension and fails on a missing or unloadable library instead of accepting TorchAO's logged-and-suppressed import errors. FLA is updated from 0.4.2 to 0.6.0 in CUDA CI and the Qwen 3.5 requirements. The wrapper is updated for the new kernel arguments, flattened launch grids and base-2 gate scaling. Numerical test tolerances are unchanged; an additional GPU regression covers multiple batches, value tiles and partial chunks. The cumulative-sum launch now passes `USE_GRAPH=False` explicitly: PyTorch 2.15 export does not supply the Triton default, causing the observed missing-argument failures in the export tests and Qwen export. Windows CUDA wheel builds select MSVC through `CUDAHOSTCXX`, which CMake reads after PyTorch overrides `CMAKE_CUDA_HOST_COMPILER` with clang-cl. This avoids the observed CUDA/MSVC math-header collision without changing the C++ compiler. The earlier CMake argument was ineffective because PyTorch overwrote it. The Linux Windows-export image and workflow now also use CUDA 13.2, with the verified available 13.2.2 Windows cross-compilation toolkit. Vulkan GPU jobs explicitly disable the CUDA delegate, and the installer honors that CMake option by choosing CPU torch even when nvcc is present. The Vulkan tests still execute against the real NVIDIA Vulkan driver. Upload and aggregate jobs retain their existing build dependencies. ## Before this can merge Platform CI must validate installation and runtime compatibility with the final production packages. The local checks below do not execute CUDA or ROCm kernels or the Windows compiler. pytorch-tokenizers 1.6.0 is published on PyPI: https://pypi.org/project/pytorch-tokenizers/1.6.0/. All 20 published wheel hashes match the release manifest from `v1.6.0-rc2`, commit `f54baeab00d5b664bfc4a977b884ff679fd3f15a`; a downloaded TestPyPI wheel passed all 17 Python tests. The existing tokenizer gitlink is retained; final source-tag verification and tokenizer source finalization still need a release-only follow-up. ## Validation All 16 installer dependency tests, 6 CUDA workflow tests, and the ROCm dependency sequencing/failure-propagation test pass locally. Checked all 222 literal FLA 0.6.0 autotune keys against their kernel argument names. Checked the wrapper's six launch signatures, grid dimensions and gate scaling against the published FLA source for ordinary, batched, and partial-chunk inputs. Changed Python files pass Black; shell scripts and workflow shell blocks pass syntax checks; YAML parses and `git diff --check` passes. Production torch CUDA 13.2/13.4 and ROCm 7.14 wheel availability and the corresponding CI container manifests are verified. The CUDA 13.2 Ubuntu development packages and Windows 13.2.2 installer are verified available. The pinned TorchAO source selection is checked with and without the CPU kernel option. The CUDA 13.2 and 13.4 build/runtime probe jobs passed on commit `8846440476`. TorchAO compiled and loaded on ROCm after the SDK path fix at commit `d7c54f49d4`; that run then exposed the mixed C++ toolchain link failure addressed by the latest compiler change. The compiler migration also explicitly pins `sysroot_linux-64=2.28`: conda otherwise selected 2.12 headers, which lack the `timespec_get` declaration used by the newer C++ headers. Verified the host-compiler selection block from CI's CMake 3.31.2 with an MSVC-style path containing spaces: `CUDAHOSTCXX` replaces PyTorch's clang-cl selection. This local check does not run the Windows compiler. The ROCm Voxtral runtime job passed on `b376004507`. CUDA system tests passed on `8846440476`; kernel tests passed 225 cases and failed two export cases on the omitted `USE_GRAPH` argument now addressed. The stricter local launch-contract check fails without that argument and passes with it. Full kernel, ROCm AOTI and Windows runtime results remain pending in CI. Authored with Codex assistance.
JacobSzwejbka
added a commit
that referenced
this pull request
Oct 30, 2026
Release-only changes for `release/1.6`, following the documentation updates for releases 1.3–1.5 (#19791, #21401, #21563, #22724). Relates to #23608. The release documentation now clones `release/1.6` and uses ExecuTorch 1.6.0 in SwiftPM, Android AAR, and Raspberry Pi examples. The C++ package instructions describe the prebuilt libraries shipped with 1.6 and install the exact release with PyTorch 2.15 from the production CPU index. Nightly installation remains available as an explicit choice. The nightly version guidance sits beside the installation command, allowing this PR and #24211 to merge cleanly in either order. Git merge-tree checks verified that both orders produce the same tree. Validation: reviewed the diff and checked that the touched installation guides contain no stale clone branches, 1.4/1.5 SwiftPM examples, or nightly-only C++ install commands. `git diff --check` passes. The 1.6 package and mobile artifact examples target publication with the release; the final artifacts are not published yet. Authored with Codex assistance.
This branch was successfully 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.
Summary
Validation
Release status
This stays draft while pytorch/test-infra#8780 blocks persistence of the tokenizers RC2 wheel artifacts. Raise the package dependency to pytorch-tokenizers>=1.5.0 after the final tokenizer wheels are promoted, then verify that the final tag points to the RC2 commit or update the submodule gitlink.
This PR was authored with Codex assistance.