$ the-wire · showcase
ExecuTorch drops Python 3.10, TensorRT trims compile startup, tensordict fixes silent h5 loss
By RepoJournal · Filed · About PyTorch · Composed from the cited sources · methodology
ExecuTorch's move to Python 3.11 through 3.15 is the day's one change that can break a build, while TensorRT and tensordict spent the cycle removing hidden costs and silent data loss.
Support Python 3.11 through 3.15 (#23538) pytorch/executorch
ExecuTorch drops Python 3.10 and adds 3.15 across package metadata, docs, CI environments, and every CPU and CUDA wheel matrix, because PyTorch nightly dev20261004 publishes cp311 through cp315 for CPU, cu132, and cu134 but no longer publishes cp310. If you pip install an ExecuTorch wheel on 3.10, it no longer exists; the Windows CUDA workflow now offers 3.11 through 3.15, and limited PR builds...
[BugFix] Make add_, zero_ and the other in-place math ops write to the h5 and zarr files of a lazy stack pytorch/tensordict
In-place math ops (add_, mul_, lerp_, zero_) on a lazy stack of h5 or zarr files used to leave the files holding their old values with no warning; they now write through to every file member, matching the single-file behavior that has been in place since #2347. Replay buffers updated in place after loading were silently losing those updates.
[BugFix] Save tensordicts with a different string per row to h5 and zarr, and read them back pytorch/tensordict
A tensordict holding a different string per row can now be saved to h5 or zarr and read back. PersistentTensorDict.from_dict, to_zarr, and ptd["text"] = NonTensorStack(...) all raised AttributeError for that shape on main, which meant TorchRL's H5StorageCheckpointer could not save a replay buffer with a text field.
Skip installing large aliased constant-folded weights pytorch/TensorRT
Large constant-folded tensors that only alias existing module weights are no longer installed as frozen params, skipping the expensive cpu().contiguous() copies taken under offload_module_to_cpu. Part two of a three-PR compile-startup stack, validated against Flux NVFP4 cold compile and a VLA path that folds materialized embedding constants with int32 indices.
[distributed] Deprecate torch.distributed.nn.functional (#200480) pytorch/pytorch
The remaining public functions in torch.distributed.nn.functional now emit FutureWarning, joining the five collectives (broadcast, reduce_scatter, all_gather, all_to_all_single, all_reduce) that already did. The module's collectives wrap in-place c10d ops in autograd Functions and are not traceable by torch.compile; torch.distributed.functional_collectives is the replacement and supports autograd.
[Performance] Make with params.to_module(module) 20-45% cheaper on entry and exit pytorch/tensordict
Elsewhere in tensordict: entering and exiting with params.to_module(module) costs 20 to 45% less, and a write into a few rows of a NonTensorStack entry is now O(rows) rather than O(stack size), down from about 0.5 s per 4-row write at 100,000 rows. TorchRL calls the module context in every loss, 76 times in torchrl/objectives.
Action items
- → Move ExecuTorch builds and CI off Python 3.10 to 3.11 before the next release; cp310 wheels are no longer published pytorch/executorch [immediate]