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-05-26
stories 55

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

PYTORCH FIXES PRECISION DRIFT IN INDUCTOR, EXECUTORCH BACKS OUT XNNPACK SERIALIZATION

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

PyTorch's core team debugged and resolved a floating-point reduction-order drift in Inductor that was breaking tensor fusion tests on ARM, while ExecutorTorch is reverting a global XNNPACK serialization change that triggered latency regressions in production mobile models.

The Inductor team isolated a math-equivalence issue in test_two_local_buffers_in_outer_loop_fusion to fp32 reduction-order drift between eager and compiled code [1], removing stale xfails and applying explicit tolerances (atol=1e-5, rtol=2e-6) to reflect the real numerical behavior. In parallel, the CUDA group preserved internal precision for native_group_norm by deferring float16 truncation until kernel exit [2], eliminating differences between eager and Inductor paths. On the spec side, ShapesSpec now supports variadic *args and **kwargs at the dynamo source level [3], enabling more flexible shape tracing for dynamic signatures. ExecutorTorch is backing out D106123930 [4], a global XNNPACK serialization patch that degraded latency on PhoneLLM, Llama4-mini TISO, and on-device NGTTS deployments. The Arm backend expanded bf16 support to aten.index_select and aten.unfold_copy [5], both of which now flow through TOSA GATHER without dtype restrictions. CI infrastructure shipped node_fleet overrides [6] that decouple large-instance runners from shared Karpenter fleets, reducing contention, while a new fast pre-merge gate [7] (30-60 min) now blocks merges instead of running the full 2-3 hour battery.

Action items

References

  1. [1] Adjust tolerances in test_two_local_buffers_in_outer_loop_fusion and (#183932) pytorch/pytorch ↗
  2. [2] [cuda][eager] Preserve internal precision for native_group_norm (#183946) pytorch/pytorch ↗
  3. [3] [ShapesSpec] Support args, *args, **kwargs at the spec / dynamo source level (#184129) pytorch/pytorch ↗
  4. [4] Back out "Globally serialize XNNPACK execution, add logging" (#19752) ↗ pytorch/executorch
  5. [5] Arm backend: Add bf16 support for aten.index_select and aten.unfold_copy ↗ pytorch/executorch
  6. [6] Add node_fleet override to decouple large-instance runners from shared node fleets ↗ pytorch/ci-infra
  7. [7] Split pre-merge CI into fast and slow gates ↗ pytorch/ci-infra

Quick answers

What shipped in PyTorch on May 26, 2026?
PyTorch's core team debugged and resolved a floating-point reduction-order drift in Inductor that was breaking tensor fusion tests on ARM, while ExecutorTorch is reverting a global XNNPACK serialization change that triggered latency regressions in production mobile models. In total, 44 commits and 11 pull requests landed.
Who contributed to PyTorch on May 26, 2026?
3 developers shipped this update, including julianchan-meta, vacu9708, and jeanschmidt.
What were the notable PyTorch updates?
Adjust tolerances in test_two_local_buffers_in_outer_loop_fusion and (#183932), [cuda][eager] Preserve internal precision for native_group_norm (#183946), and [ShapesSpec] Support args, *args, **kwargs at the spec / dynamo source level (#184129).