RepoJournal
PyTorch

@pytorch

PyTorch and the broader machine-learning ecosystem

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

One email a day. Unsubscribe in one click.

Pick a date

Topics: Python AI / ML Full archive →

The Wire · Showcase

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

By RepoJournal · Filed · About PyTorch

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.

One email a day. Unsubscribe in one click.

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).

More from @pytorch

Daily updates, in your inbox

Follow PyTorch

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

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?