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-10
stories 180

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

TorchRL flips async collector defaults, GreenLight adds shadow state

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

TorchRL's AsyncBatchedCollector now ships with fast asynchronous defaults and a new transition chunking knob, while test-infra's GreenLight pipeline adds a shadow state column and hides it from the merge gate.

TorchRL made the fast asynchronous configuration the default for `AsyncBatchedCollector` [1]. When environment workers are processes with one environment each and a `policy_factory` is provided, `transport="auto"` derives fixed request and response layouts from one environment's `fake_tensordict()` and one policy pass, building a `ProcessSlotTransport`. A new `transition_chunk_size` parameter (default 1, `ProcessSlotTransport` only) batches worker transitions to cut queue, unpickling, and replay-write overhead; larger chunks increase latency and in-flight memory [2]. Two released defaults change in v0.15 [1]. On the inference side, process-slot passes now batch through reusable pinned buffers with non-blocking transfers and one CUDA event per pass [3], and DreamerV3 replay write-back enqueues CUDA to CPU copies at submission so the update thread waits on CUDA events instead of queuing copies behind the next learner step [4].

Test-infra's GreenLight stack landed a `shadow` Bool on `misc.greenlight_pr_state` via migration `005`; the DDL is hand-applied and the replicator auto-deploys, so ordering matters [5]. Both HUD readers (Dr. CI's `greenlight_pr_states` query and the `/api/greenlight/pr_state` route the PyTorch merge gate reads) now filter `shadow = false` [6]. The `greenlight_trunk_commit_states` and `greenlight_pr_state_history` queries also add `AND shadow = false` ahead of `LIMIT 1 BY` [7]. The fingerprint fan-out scan became a saturating pipeline, refilling a worker slot as soon as its task completes rather than when the whole pool-sized batch finishes [8].

PyTorch core fixed FSDP policy imports that eagerly pulled in an obsolete Diffusers module path, which could break FSDP benchmarks even when running unrelated models; the fix lazily imports only the model class required by the selected policy [9]. In c10d, a NCCL timeout now terminates the process regardless of `RETHROW_CUDA_ERRORS` under a flag, since timeouts were previously swallowed and resulted in a hang when the flag was 0 [10]. On ROCm, CK flash attention entries now return an empty result on an empty batch instead of aborting with "batch size must be positive" [11]. Dynamo work continued with modeling of `property` in PropertyVariable [12] and a port of CPython 3.13 `test_copy` to the Dynamo test suite [13].

Executorch added a native Arm backend test path for Stable Diffusion 3.5 Large, with configs for CLIP text encoders, T5, MMDiT transformer, and VAE decoder across TOSA and VGF pipelines [14], plus CMake support for quantized MoE optimized builds [15]. A `-Wno-missing-prototypes` carve-out was re-keyed from `ovr_config//os:zephyr` to `ovr_config//compiler:gcc`, since GCC's C++ frontend rejects the flag regardless of OS [16]. ET-VK fixed an int32 `aten.eq.Tensor` shader name mismatch: `add_binary_op_node` builds `binary_eq_buffer_int32`, but the yaml declared `binary_eq_int32_buffer`, leaving the name the dispatcher wants missing [17].

Action items

References

  1. [1] [Feature] Fast asynchronous defaults for AsyncBatchedCollector and DreamerV3 ↗ pytorch/rl
  2. [2] [Performance] Chunk process-slot worker results in AsyncBatchedCollector ↗ pytorch/rl
  3. [3] [Performance] Serve process-slot inference passes from pinned staging batches ↗ pytorch/rl
  4. [4] [Performance] Keep the DreamerV3 replay write-back off the learner stream ↗ pytorch/rl
  5. [5] Add a shadow column to the state row (#8724) ↗ pytorch/test-infra
  6. [6] Hide shadow rows from Dr. CI and the land-time gate (#8727) ↗ pytorch/test-infra
  7. [7] [GreenLight] Exclude shadow rows from the HUD trunk and PR history queries (#8770) ↗ pytorch/test-infra
  8. [8] Cap and pipeline the scan (#8723) ↗ pytorch/test-infra
  9. [9] [dynamo][benchmarks] Fix FSDP policy imports and clean up diffusion benchmarks (#195909) ↗ pytorch/pytorch
  10. [10] [c10d] Tear down on a NCCL timeout regardless of RETHROW_CUDA_ERRORS, under a flag (#196187) (#196187) ↗ pytorch/pytorch
  11. [11] [PrismNet][ROCm] Return the empty result from CK flash attention on an empty batch (#195812) (#195812) ↗ pytorch/pytorch
  12. [12] Model `property` in PropertyVariable (#194642) ↗ pytorch/pytorch
  13. [13] [Dynamo] Port CPython 3.13 test_copy to Dynamo test suite (#196456) ↗ pytorch/pytorch
  14. [14] Arm backend: Add tests for Stable Diffusion 3.5 Large model ↗ pytorch/executorch
  15. [15] CMake support for quantized MoE optimized build ↗ pytorch/executorch
  16. [16] Scope -Wno-missing-prototypes to non-GCC compilers ↗ pytorch/executorch
  17. [17] [ET-VK] Name the int32 eq shader what the dispatcher asks for ↗ pytorch/executorch

Quick answers

What shipped in PyTorch on September 10, 2026?
TorchRL's AsyncBatchedCollector now ships with fast asynchronous defaults and a new transition chunking knob, while test-infra's GreenLight pipeline adds a shadow state column and hides it from the merge gate. In total, 104 commits, 68 pull requests, and 8 releases landed.
Who contributed to PyTorch on September 10, 2026?
17 developers shipped this update, including vmoens, Iliamsou, Jean Schmidt, George Hong, kevzhuo, Guilherme Leobas, VTASU, and Kaan Baloglu, and 9 more.
What were the notable PyTorch updates?
[Feature] Fast asynchronous defaults for AsyncBatchedCollector and DreamerV3, [Performance] Chunk process-slot worker results in AsyncBatchedCollector, and [Performance] Serve process-slot inference passes from pinned staging batches.