90 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-09-15
stories 63

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

Dynamo stops deleting globals it never created, FP8 blockwise scale fixes land

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

Today's PyTorch changes are mostly about bookkeeping that had drifted from what it claimed to record: which globals a compile package owns, which device a graph actually targets, and which log-probabilities vLLM really produced.

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

by Bob Ren

`CompilePackage._install_global` appended every name it wrote to `_installed_globals`, so `uninstall()` popped names the package had only overwritten rather than created, deleting bindings that belonged to someone else. The bookkeeping now distinguishes names the package created from names it merely touched.

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

by YeonwooSung

`vLLMWrapper` zero-filled prompt log-probs when the vLLM V1 generate path returned nothing usable, and since a zero log-prob means probability 1, GRPO and KL callers reading `log_probs.prompt` or a `full` tensor got silently wrong values instead of an error. The wrapper now handles the missing prompt-score case rather than inventing scores.

[dynamo] Report every device type a graph names, not the first meta leaf (#196814) pytorch/pytorch

by Bob Ren

`_graph_device_type` returned the first `val`/`example_value` leaf it encountered, falling back to `_device_type` of a flattened arg ("cpu" for anything that is not a `torch.device` or `Tensor`), so one node decided the device type for the whole graph and a dynamic-shape GPU compile could report as SymInt-driven CPU. It now reports every device type the graph names.

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

by Janani Sriram

The lowering now understands the cuBLAS blockwise scale layouts and converts them to the single layout the Triton template reads, and the 1x128 column offset is fixed. The offset previously used `cdiv`, which advanced the scale column every tile instead of every TILE_SIZE/BLOCK_K tiles.

Let the flat bounds_check run when offsets adjustment is off (#6305) pytorch/FBGEMM

by Isabella Ni

The flat path was gated on `!disable_offsets_adjustment` because the flag changes the offsets contract, but the flag is on in production, so flat kernels could never be selected there, confirmed on a GB300 host. With the flat bounds_check unblocked, FBGEMM also binary-searches row lookup in the flat sparse kernels and switches permute/bounds_check to flat thread mapping, where production poolin...

Quick answers

What shipped in PyTorch on September 15, 2026?
Today's PyTorch changes are mostly about bookkeeping that had drifted from what it claimed to record: which globals a compile package owns, which device a graph actually targets, and which log-probabilities vLLM really produced. In total, 47 commits and 16 pull requests landed.
Who contributed to PyTorch on September 15, 2026?
14 developers shipped this update, including Bob Ren, Janani Sriram, Natalia Gimelshein, Isabella Ni, Fnu Purnawirman, Benson Ma, vmoens, and YeonwooSung, and 6 more.
What were the notable PyTorch updates?
[dynamo] Uninstall only the globals a package itself bound (#196895), [BugFix] Do not invent vLLM prompt log-probabilities, and [dynamo] Report every device type a graph names, not the first meta leaf (#196814).