RepoJournal
PyTorch

@pytorch

PyTorch and the broader machine-learning ecosystem

Pick a date

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

References

  1. [1] Use std::to_array/std::initializer_list (#185607) pytorch/pytorch
  2. [2] Remove dead enforce_variables param and use CTAD in profiler collection (#185695) pytorch/pytorch
  3. [3] Remove always-constant template flags in mkldnn RNN and attention (#185697) pytorch/pytorch
  4. [4] [MPS] Migrate randperm off MPSGraph to Metal (#182528) pytorch/pytorch
  5. [5] Remove CUDA <=11 version guards (#183982) pytorch/pytorch
  6. [6] [data] Add weighted interleaved multi-source dataloader ↗ pytorch/torchtitan
  7. [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

Related across the cluster

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.