The Wire · Showcase
TENSORDICT 0.14 LANDS WITH BREAKING API DEFAULTS, TORCHTITAN GAINS ASYNC-TP BACKEND
By RepoJournal · Filed · About PyTorch
TensorDict shipped 0.14.0 with backward-incompatible changes to `to_module()` and `copy_at_()` defaults, forcing TorchRL to patch every call site before its own 0.14 release.
TensorDict 0.14.0 flipped `to_module()` to preserve module parameters by default [1], a breaking change that required TorchRL to add explicit `preserve_module_state=False` parameters across its functional param-swap machinery [2]. The new version also ships Zarr-backed storage, direct `backward()` through TensorDict, and tightened memmap pickle semantics [1]. In parallel, TorchRL 0.14.0 is pinning TensorDict 0.14 while landing a critical fix for replay buffer checkpointing that now persists prefetch queue state across `state_dict` round-trips and pickle, keeping sample order and RNG state aligned [3]. On the training infrastructure front, TorchTitan relanded async-TP backend support without compiler overhead, folding tensor-parallel all-gather and reduce-scatter into adjacent GEMMs rather than running them sequentially [4], while Helion upgraded CuTe DSL to 4.7.0 with no backend code changes required and posted fresh B200 attention benchmarks [5]. Core PyTorch shipped MPS native int8 matrix multiplication support [6], fixed a weight_norm CPU kernel null-pointer crash on empty tensors [7], and patched MPSProfiler backward compatibility after a recent `stream` argument broke torchvision [8].
One email a day. Unsubscribe in one click.
Keep up with PyTorch in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Pin TensorDict 0.14.0 in TorchRL builds and audit to_module() call sites for preserve_module_state behavior pytorch/rl [immediate]
- → Review and test TorchRL 0.14.0 release candidate with TensorDict 0.14 breaking changes pytorch/rl [immediate]
- → Evaluate async-TP backend in TorchTitan for production training, no longer requires torch.compile pytorch/torchtitan [plan]
- → Upgrade PyTorch to pick up MPS int8 matmul and weight_norm fixes for your deployment pytorch/pytorch [plan]
References
- [1] TensorDict v0.14.0 ↗ pytorch/tensordict
- [2] [Versioning] Bump 0.14.0 ↗ pytorch/rl
- [3] [BugFix] Fix checkpointing of replay buffer prefetch state ↗ pytorch/rl
- [4] [Reland] Add dist GEMM attention and FFN backend ↗ pytorch/torchtitan
- [5] Upgrade CuTe DSL to 4.7.0 ↗ pytorch/helion
- [6] [MPS] Add native _int_mm support (#193153) pytorch/pytorch
- [7] Fix nan g gradient and null pointer in weight_norm CPU kernel for empty input (#192179) pytorch/pytorch
- [8] [MPS] Fix MPSProfiler `stream` arg backward compatibility (#193611) pytorch/pytorch