117 wires and counting

$ follow PyTorch

Keep up with PyTorch in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-09-23
stories 114

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Dynamo stops silently folding with runtime_checkable Protocols, ExecuTorch drops CUDA 12.6 wheels

By RepoJournal · Filed · About PyTorch · Composed from the cited sources · methodology

A wrong-code fix in Dynamo's isinstance handling leads a day of boundary corrections: ExecuTorch retires the cu126 train and packages KleidiAI separately on Apple, while the inductor device table finally learns the names ROCm hosts actually report.

[dynamo] Fix isinstance() with unions/tuples of runtime_checkable Protocols (#196124) pytorch/pytorch

by Jonas

isinstance(o, HasPorts | HasFoo) and the tuple form compiled to a constant False under Dynamo whenever HasPorts was a @runtime_checkable Protocol with a non-method member, though eager returned True, and there was no graph break to warn you. Compiled code that branches on Protocol unions can now agree with eager mode.

Stop publishing CUDA 12.6 wheels (#23015) pytorch/executorch

by Anthony Shoumikhin

PyTorch retired CUDA 12.6 from its nightly channel, so no ExecuTorch nightly has built that train since early September: cu126 is stranded at 1.5.0.dev20260906 while cpu, cu130, cu132 and cu134 sit at 1.6.0.dev20260922. Nightly cu126 consumers should move to a supported train; releases keep publishing it for now.

[ROCm] Resolve the device names ROCm hosts report in inductor's table (#198220) pytorch/pytorch

by Jeff Daily

Inductor's static device table is keyed on the marketing name torch.cuda.get_device_name() returns, and on ROCm that lookup missed even after the MI355X entry landed, because CI runners report suffixed names like "AMD Instinct MI350X VF" and "AMD Instinct MI300X HF". Those hosts should stop falling through to the generic entry in device_info.py.

Apple: Package KleidiAI as a common framework dependency (#22996) pytorch/executorch

by Jacob Stevens

SwiftPM apps that use optimized kernels without XNNPACK failed to link SME2 BF16 GEMM symbols because libkleidiai.a shipped only inside the XNNPACK framework. KleidiAI is now a separate static XCFramework shared by XNNPACK, optimized kernels, and TorchAO, with Release and Debug artifacts in the Apple workflow.

Default a tensorless fallback kernel to CPU instead of asserting (#197584) pytorch/pytorch

by Aaron Orenstein

FallbackKernel asserted "Not sure where to find device info" whenever find_device came back empty, and one of those empty cases was a real gap: recursion walked past a dict even though generate_output builds a MultiOutput per dict value. Tensorless fallback kernels now default to CPU instead of asserting.

Arm backend: Keep INT delegate boundaries quantized (#22966) pytorch/executorch

by Zingo Andersen

In the long tail: the Arm backend stops leaving dequantize and float ops inside INT-only TOSA partitions at output boundaries, so a delegate no longer writes integer data into a buffer ExecuTorch described as FP32.

Quick answers

What shipped in PyTorch on September 23, 2026?
A wrong-code fix in Dynamo's isinstance handling leads a day of boundary corrections: ExecuTorch retires the cu126 train and packages KleidiAI separately on Apple, while the inductor device table finally learns the names ROCm hosts actually report. In total, 89 commits and 25 pull requests landed.
Who contributed to PyTorch on September 23, 2026?
13 developers shipped this update, including Christian Aurich, Jonas, Aaron Orenstein, Jeff Daily, Anthony Shoumikhin, Zingo Andersen, Jacob Stevens, and Gasoonjia, and 5 more.
What were the notable PyTorch updates?
[dynamo] Fix isinstance() with unions/tuples of runtime_checkable Protocols (#196124), Stop publishing CUDA 12.6 wheels (#23015), and [ROCm] Resolve the device names ROCm hosts report in inductor's table (#198220).