RepoJournal

$ cat pytorch/week/2026-09-14.log

PyTorch

PyTorch

the week in review · Sep 14 – Sep 20, 2026

Helion autotunes Metal, ending default 16x16x16 tiles

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

TorchRL fixed reward leakage and constructor device caching, while Dynamo and TorchTitan corrected silent correctness bugs.

467 commits 210 PRs merged 1 releases 7 briefings covered

all pytorch reviews →

[metal] Enable autotuning pytorch/helion

by aditvenk

Helion previously pinned Metal to config_spec.default_config(); it now runs the normal search for elementwise, reduction and matmul kernels. The tile is where it bites: matmul's default 16x16x16 barely used the hardware, so Apple-silicon matmul throughput now depends on the autotuner rather than a fixed tile.

[BugFix] Mask post-done rewards in CEM and MPPI planners pytorch/rl

by YeonwooSung

CEM and MPPI summed the whole imagined horizon, so rewards landing after done, including auto-reset rewards, leaked into the plan score. Both planners now roll out with break_when_any_done=False and zero rewards past the first effective environment done, which changes planner scores if your environments reset automatically.

[inductor][cpu] Fix the bias device check in _is_packable_linear (#195833) pytorch/pytorch

by gavinwang269

The extra_check that gates CPU weight packing for aten.mm and aten.addmm compared the bias device against the wrong variable in the addmm branch. Packing decisions for frozen CPU graphs were being made on a bad comparison; the check now reads the right device.

[dynamo] Uninstall only the globals a package itself bound (#196895) pytorch/pytorch

by Bob Ren

CompilePackage._install_global recorded every name it wrote and uninstall() popped all of them, so the bookkeeping never distinguished names the package created from names it merely touched. Packages can now uninstall cleanly without removing globals that existed before them.

Fix padding gradients in vocab-parallel embeddings pytorch/torchtitan

by zupengwang

The HF backend preserves nn.Embedding.padding_idx, but vocab-parallel forward passed that global index straight to a local weight shard; with SmolLM3's vocab_size=128256 and pad_token_id=128004 at TP=2, the old forward ran off the end of a 64128-row local table. Padding gradients are now computed against the correct shard.

[BugFix] Do not invent vLLM prompt log-probabilities pytorch/rl

by YeonwooSung

vLLMWrapper asked for SamplingParams.prompt_logprobs and, when the vLLM V1 generate path returned nothing useful, wrote zero-filled prompt log-probs so LogProbs.full could be prompt || response. Zero means probability 1, so GRPO and KL callers reading those values were training on a fabricated distribution; the wrapper now reports absence instead.

[inductor] Fix FP8 blockwise scale layout, indexing, and dot precision (#195751) pytorch/pytorch

by Janani Sriram

Carried over from Yunqian Fan's blockwise FP8 work with fixes for issues found in review, the lowering now understands the cuBLAS blockwise scale layouts and converts between them. Layout, indexing and dot precision were all wrong together, so blockwise FP8 accuracy claims upstream are worth rechecking.

[CI] Fix retry teardown and run distributed/test_store in-process (#197324) pytorch/pytorch

by Jeff Daily

distributed/test_store.py burned roughly 15 minutes of wall clock per shard for 140 tests that take 24 seconds in-process, all of it Python startup plus import torch per test case. It now runs in-process, and the retry teardown path is fixed.

$ ls pytorch/week/ # the briefings behind this review

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.

all pytorch reviews →