$ the-wire · showcase
TensorDict 0.15.0 goes pure Python, 1.77x faster
By RepoJournal · Filed · About PyTorch · Composed from the cited sources · methodology
TensorDict's largest release in years rewrites the core in pure Python and speeds up everyday operations, while both TorchTitan and FBGEMM land correctness fixes that matter more than their size suggests.
TensorDict v0.15.0 pytorch/tensordict
581 pull requests since 0.14.0, 37 of them already shipped in 0.14.1 through 0.14.3, collapse into a single 690 KB wheel that installs on every platform and Python version. The release notes measure 1.77 times faster on average across 177 microbenchmarks and 1.83 times faster over 397 benchmark-suite tests, and 45 of 47 everyday patterns now compile into one graph under torch.compile, up from 41.
[BugFix] Make update_ on a lazy stack raise before it writes any member when one rejects its part pytorch/tensordict
update_ and copy_ on a lazy stack used to write members one at a time, so a rejection from a later member left earlier members already modified. The stack now validates every member's part before writing anything and raises with nothing changed, which is what code that catches the error already assumed.
[Feature] Evaluator per-env episode sampling, seeding and comparison statistics pytorch/rl
Evaluator collects the first num_trajectories episodes to finish, so on a batched env with three sub-envs running 2, 6 and 21 steps, asking for six episodes returns [2, 6, 21, 2, 2, 2] and a mean return of 5.83 instead of 9.67. The new sampling, paired seeding and comparison statistics make policy comparisons across simulators and perturbations meaningful rather than an artifact of episode length.
Honor scale_bias_last in the N-bit dequantization entry point (#6483) pytorch/FBGEMM
FusedNBitRowwiseQuantizedSBHalfToFloatOrHalf declares scale_bias_last and documents a default of true, but the parameter was marked [[maybe_unused]] and never read, and ref_fallback dropped it entirely, so the reference implementation ignored the caller's layout. The N-bit dequantization entry point now honors it.
[precompile] freeze C++ kernel binaries into the precompile cache (#198955) pytorch/pytorch
The precompile cache carried only Triton kernels, so a fresh serving process rebuilt every C++ kernel the producer had built seconds earlier. Each write of a precompile.capture() block now freezes the loaded CppCodeCache binaries into a new inductor_cpp cache area, and the long tail includes TorchTitan's Muse Spark Open support, the torch.cond backward regression test for subgraph gradient dona...