The Wire · Showcase
PYTORCH KILLS CUDA 11 SUPPORT, SHIPS METAL RANDPERM OVERHAUL
By RepoJournal · Filed · About PyTorch
PyTorch dropped legacy CUDA version guards overnight while the MPS backend gets a ground-up Metal rewrite of randperm that cuts through the old MPSGraph abstraction entirely.
The core pytorch/pytorch repo is in cleanup mode. Edward Z. Yang landed a series of refactoring PRs that tighten the codebase: std::to_array replaces hand-counted array definitions [1], dead profiler template parameters got axed [2], and mkldnn's hardcoded template flags vanished [3]. But the real technical shift is CUDA 11 removal [5]. If you're still on 11.x, your next PyTorch upgrade forces a platform jump. The bigger move is on Apple silicon. The MPS randperm implementation ditched the entire MPSGraph layer and rebuilt it on pure Metal with three codepaths optimized by input size [4]. This is what a serious GPU backend looks like when you're willing to drop abstractions. Over in TorchTitan, the data team shipped weighted multi-source dataloading [6], letting you sample from multiple datasets simultaneously with configurable weights. That's the kind of infrastructure improvement that matters for production training. Test infrastructure landed Part 3 of the OOT HUD pipeline [7] with timing-safe auth, payload validation, and DynamoDB writes that don't clobber in-progress state.
Action items
- → Plan CUDA 12+ migration before next upgrade cycle pytorch/pytorch [plan]
- → Test MPS randperm paths if shipping to Apple silicon pytorch/pytorch [monitor]
- → Evaluate weighted interleaved dataloader for multi-source training pytorch/torchtitan [plan]
References
- [1] Use std::to_array/std::initializer_list (#185607) pytorch/pytorch
- [2] Remove dead enforce_variables param and use CTAD in profiler collection (#185695) pytorch/pytorch
- [3] Remove always-constant template flags in mkldnn RNN and attention (#185697) pytorch/pytorch
- [4] [MPS] Migrate randperm off MPSGraph to Metal (#182528) pytorch/pytorch
- [5] Remove CUDA <=11 version guards (#183982) pytorch/pytorch
- [6] [data] Add weighted interleaved multi-source dataloader ↗ pytorch/torchtitan
- [7] OOT HUD: Add API endpoint, PR page integration, and replicator mapping (Part 3/3) ↗ pytorch/test-infra
FAQ
- What changed in PyTorch on May 31, 2026?
- PyTorch dropped legacy CUDA version guards overnight while the MPS backend gets a ground-up Metal rewrite of randperm that cuts through the old MPSGraph abstraction entirely.
- What should PyTorch teams do about it?
- Plan CUDA 12+ migration before next upgrade cycle • Test MPS randperm paths if shipping to Apple silicon • Evaluate weighted interleaved dataloader for multi-source training
- Which PyTorch repositories shipped on May 31, 2026?
- pytorch/pytorch, pytorch/torchtitan, pytorch/test-infra