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-08-16
stories 31

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

PYTORCH CORE FIXES CUDA MEMORY LEAKS AND CHECKPOINT STORAGE SHARING

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

PyTorch shipped critical fixes for fake tensor leaks and checkpoint deserialization on meta devices, while the RL stack tackled sparse masked modes and routing tie-breaking across three repos.

The biggest story overnight: fake tensor tracking was leaking CUDA memory after compile, contaminating subsequent runs until a clear was added [1]. Simultaneously, checkpoint loading on meta and fake devices was silently dropping storage sharing because null data pointers bypassed the deserialization cache, forcing every tensor reference to spawn its own storage [2]. Both hit production workloads. On the core side, FunctionalTensor was burning cycles on redundant symbolic arithmetic to compute storage sizes it already knew [7], and SymNode boolean constants were hitting the symbol replacement lookup on every access instead of short-circuiting [8]. The distributed training stack shed a deprecated API requirement: is_symm_mem_enabled_for_group() no longer depends on the deprecated enable_symm_mem_for_group() call to populate internal state [6]. In RL, sparse masked modes were returning offsets into compacted action lists instead of the original action indices, breaking alignment with sample() [3], while routing strategies were locking sessions to whichever candidate won a load tie on first request rather than cycling [4]. TorchTitan's MoE validation was leaking routing counts into the next training step's bias updates [5], and the Arm backend expanded its pre-push op verification list [9]. Activity across 5 repos: 24 commits, 7 PRs.

Action items

References

  1. [1] [BugFix] release tracked fake tensors (#193015) ↗ pytorch/pytorch
  2. [2] Preserve storage sharing when loading checkpoints on meta/fake devices (#193566) ↗ pytorch/pytorch
  3. [3] [BugFix] Map sparse masked modes to original actions ↗ pytorch/rl
  4. [4] [rl] Cycle least-loaded routing between tied candidates (#4109) ↗ pytorch/torchtitan
  5. [5] Do not count MoE tokens during evaluation (#4148) ↗ pytorch/torchtitan
  6. [6] Make is_symm_mem_enabled_for_group() not require deprecated enable_symm_mem_for_group() (#193115) ↗ pytorch/pytorch
  7. [7] [functionalization] Hand _make_wrapper_subclass the storage size it already knows (#193416) ↗ pytorch/pytorch
  8. [8] [fx] Skip replace() for a SymNode holding a boolean constant (#193159) pytorch/pytorch ↗
  9. [9] Arm backend: Add to pre-push automatic list of supported ops - VGF ↗ pytorch/executorch

Quick answers

What shipped in PyTorch on August 16, 2026?
PyTorch shipped critical fixes for fake tensor leaks and checkpoint deserialization on meta devices, while the RL stack tackled sparse masked modes and routing tie-breaking across three repos. In total, 24 commits and 7 pull requests landed.
Who contributed to PyTorch on August 16, 2026?
10 developers shipped this update, including aswanth-07, dependabot, Rohit Singh Rathaur, Animesh Jain, gtnv, Chinmayrawat15, vmoens, and ömer yentür, and 2 more.
What were the notable PyTorch updates?
[BugFix] release tracked fake tensors (#193015), Preserve storage sharing when loading checkpoints on meta/fake devices (#193566), and [BugFix] Map sparse masked modes to original actions.