$ the-wire · showcase
TorchScript removals land and get reverted, MPS ctc_loss fixed
By RepoJournal · Filed · About PyTorch · Composed from the cited sources · methodology
PyTorch's attempt to delete the deprecated public torch.jit surface was reverted within hours, the Windows cuDNN preload regression is patched, and TorchRL shipped a batch of correctness fixes for slice samplers, AsyncEnvPool and replay storage.
Remove deprecated public TorchScript APIs + tests (#203621) pytorch/pytorch
The commit deletes the already-deprecated public torch.jit APIs (script, script_method, interface, trace, trace_module, load, save, freeze, optimize_for_inference, set_fusion_strategy, fork, wait) and their tests, keeping needed internal source through build-time overrides. Nothing changes for users yet: the removal was reverted automatically by PyTorch's autorevert bot before it could stick, s...
[Windows] Preload bundled cuDNN DLLs from torch\lib (#203663) pytorch/pytorch
Windows wheels that bundle cuDNN crashed on first cuDNN use when no cuDNN was on PATH, failing with "Invalid handle. Cannot load symbol cudnnGetVersion" and exit code 0xC0000409, a regression from removing the bulk DLL preload from torch\lib. This change preloads the bundled cuDNN DLLs specifically, restoring the bundled-CUDA path on Windows including NVIDIA's Windows on Arm CI shards.
[MPS] Fix ctc_loss backward for targets with 512+ labels (#203360) pytorch/pytorch
The MPS log_beta kernel processes the 2*L+1 lattice positions in blocks of at most 1024, but the backward recursion at position s reads s+1 and s+2, which belong to the next block whenever the lattice spans more than one. Targets with 512 or more labels therefore produced wrong gradients on Apple GPUs; the fix makes the block-boundary reads correct.
[BugFix] Fix slice sampler, CQL Lagrange and multi-agent export correctness bugs pytorch/rl
Silent wrong results in PrioritizedSliceSampler, right-span SliceSampler, CQLLoss and multi-agent export, each now covered by a regression test that fails on main. The sampler fix is the one that bites quietly: PrioritizedSliceSampler did not mark slice starts with is_init, so recurrent policies were being fed wrong sequence boundaries.
[BugFix] Fix AsyncEnvPool, weight-sync and multi-collector replay storage correctness bugs pytorch/rl
Collector(AsyncEnvPool(...)) crashed because env_index was written as a NonTensorStack on every call, the shared-memory exchange dropped keys added by outer transforms, rewards on _step and partial-reset masks, and shutdown could spin forever. Each fix carries a regression test that fails or hangs on main, so pin forward if your pipelines use AsyncEnvPool or multi-collector replay storage.
[BugFix] Keep the dim names of a NonTensorStack padded in place pytorch/tensordict
Elsewhere in tensordict, in-place padding of a named NonTensorStack drops dim names (pad(stack, [0, 0, 0, 1], inplace=True) leaves ["x", None] on a dim-0 stack), and a dim-0 pad of a dim-0 stack leaves stack.names raising ValueError: Not all dim names match.