RepoJournal
PyTorch

@pytorch

PyTorch and the broader machine-learning ecosystem

Pick a date

Topics: Python AI / ML Full archive →

The Wire · Showcase

HELION BACKEND REFACTOR UNLOCKS MULTI-DEVICE COMPILATION; DYNAMO FIXES FORWARD-AD TANGENT BUG

By RepoJournal · Filed · About PyTorch

Helion shipped a four-part backend architecture overhaul that finally separates printer, lowering, and backend registration logic by device, eliminating the need to edit 17 core files for every new backend.

The Helion stack just got a massive structural upgrade [1][2][3][4]. Until now, adding a new backend meant scattered imports and registrations across the entire codebase; the new per-backend modules pattern moves each backend's printer, aten_lowering handlers, and Backend class into its own namespace, cutting maintenance friction dramatically. This is the kind of infrastructure win that makes shipping new devices feel feasible instead of painful. Meanwhile, PyTorch's Dynamo compiler shipped a critical fix [5] where forward-AD dual tensors were silently dropping their tangents when compiled to Inductor, falling back to eager mode to preserve gradient information instead of silently corrupting them. Across the executor and test suites, the team cleaned up dead wood: ExecutorTorch removed 16 redundant test stubs [6] that were permanently skipped, and PyTorch gutted three unused Caffe2-era build flags [7] (USE_OPENCL, USE_OBSERVERS, USE_SNPE) that were linking nothing. Test infrastructure got tightened as well [8][9][10], converting pytest marks to unittest-compatible skips and re-enabling conv2d backward dynamic-shape tests that were overly gated. TorchTitan's AutoParallel layer is now device-agnostic [11], ready for Intel XPU.

Action items

References

  1. [1] refactor: move backend-specific aten_lowering codegen into per-backend `aten_lowering.py` ↗ pytorch/helion
  2. [2] refactor: move backend-specific Backend classes into per-backend `backend.py` ↗ pytorch/helion
  3. [3] refactor: centralize per-backend codegen registration via the backend registry ↗ pytorch/helion
  4. [4] refactor: move backend-specific sympy printers into per-backend `printer.py` ↗ pytorch/helion
  5. [5] [Dynamo] Fall back to eager on forward-AD dual tensor inputs (#189644) pytorch/pytorch
  6. [6] Remove 16 redundant skipped test stubs in test_scalars.py (#21026) pytorch/executorch
  7. [7] Remove unused USE_OPENCL, USE_OBSERVERS and USE_SNPE build options (#190310) pytorch/pytorch
  8. [8] [inductor] Convert dropout align_random_eager class skip to unittest.skipIf (#190267) pytorch/pytorch
  9. [9] [Test] Refactor test/test_view_ops.py (#188044) pytorch/pytorch
  10. [10] Re-enable conv2d backward dynamic-shapes tests in `test_conv2d_backward_parametrized` (#190221) pytorch/pytorch
  11. [11] Make AutoParallel tests GPU-agnostic using device_type ↗ pytorch/torchtitan

Quick answers

What shipped in PyTorch on July 19, 2026?
Helion shipped a four-part backend architecture overhaul that finally separates printer, lowering, and backend registration logic by device, eliminating the need to edit 17 core files for every new backend. In total, 43 commits and 8 pull requests landed.
Who contributed to PyTorch on July 19, 2026?
9 developers shipped this update, including Siddartha Pothapragada, Guan-Ming (Wesley) Chiu, cyy, Bob Ren, orangeH25, YassineYousfi, XueHuCH, and AmesingFlank, and 1 more.
What were the notable PyTorch updates?
refactor: move backend-specific aten_lowering codegen into per-backend `aten_lowering.py`, refactor: move backend-specific Backend classes into per-backend `backend.py`, and refactor: centralize per-backend codegen registration via the backend registry.

More from @pytorch

Daily updates, in your inbox

Follow PyTorch

PyTorch and the broader machine-learning ecosystem We'll email you a link to confirm first.

Free. Confirm via email. Unsubscribe in one click.

— or follow the whole beat:

Elsewhere on the wire