PyTorch 2.15 makes rewritten NCCL the default for every nccl job
PyTorch’s official 2.15 blog cites 3,117 commits since 2.14 and sets the rewritten NCCL backend as the default for every nccl process group, with flight recorder dumps on collective hangs and rollback via TORCH_DIST_USE_NCCL2=0 or nccl-legacy if regressions appear. The post also mentions one-sided torch.distributed transports with a NIXL backend, finer FSDP2 and pipelining controls, NVFP4 decoding on NVIDIA Blackwell through NVGEMM, Apple Silicon MoE decode speeds the blog cites at about 1.32 to 1.34 times tokens per second, and wider AMD, Intel, and CUDA wheels. That default NCCL swap changes baseline distributed training and inference behavior globally, yet available text is an incomplete excerpt without independent stability benchmarks or migration guidance, so production gains depend on validating your own workloads before upgrading clusters.
PyTorch 2.15 makes rewritten NCCL the default for every nccl job
PyTorch published release 2.15 on its official blog, spanning 3,117 commits since 2.14. Every process group using nccl now runs the rewritten backend by default, with legacy rollback paths and a flight recorder that dumps when collectives hang.
Key takeaway
PyTorch 2.15 makes the rewritten NCCL backend the default for NCCL jobs, pairing hang diagnostics with explicit legacy rollback switches that operators should document before upgrading clusters.
What happened
According to PyTorch’s official 2.15 release blog, the project published PyTorch 2.15 after 3,117 commits since 2.14, positioning the drop as a broad infrastructure update rather than a narrow patch release.
The blog states that the rewritten NCCL backend is now the default for distributed work, includes a flight recorder that dumps when collectives hang, and documents rollback via TORCH_DIST_USE_NCCL2=0 or nccl-legacy, alongside one-sided transports with a NIXL backend and additional FSDP2, inference, and platform features in the same release.
Evidence
PyTorch 2.15 was published with 3,117 commits since 2.14.
PyTorch · attributed
PyTorch published release 2.15 on its official blog, spanning 3,117 commits since 2.14.
Every NCCL process group now uses the rewritten backend by default.
PyTorch · attributed
Every process group using nccl now runs the rewritten backend by default
Hang diagnostics and legacy rollback paths are part of the NCCL change.
PyTorch · attributed
Rewritten NCCL backend becomes the default, with a flight recorder that dumps on hangs and TORCH_DIST_USE_NCCL2=0 or nccl-legacy as rollback paths
Apple Silicon MoE decode improvements are cited at about 1.32 to 1.34 times tokens per second.
PyTorch · attributed
a new grouped_mm with a decode fast path (1.32–1.34x tokens/s on MoE decode)
Why it matters
Defaulting the rewritten NCCL stack changes baseline behavior for distributed training and inference stacks worldwide, while rollback env vars signal that teams must plan validation because the blog does not prove stability across real clusters.
Limits and uncertainties
Source material is an official blog excerpt marked incomplete, without independent benchmarks or adoption data beyond cited Apple Silicon decode figures.
The packet notes the announcement lacks migration guidance and does not establish real-world performance gains for most listed features.
Practical implications
Stage upgrades on representative NCCL workloads and keep TORCH_DIST_USE_NCCL2=0 or nccl-legacy documented for fast rollback if collectives misbehave.
When hangs occur, use the flight recorder dumps as the first diagnostic artifact before blaming application code or hardware.
What to watch
Reports of collective hangs or regressions after moving from PyTorch 2.14 to 2.15 on NCCL-backed jobs.
Whether teams rely on legacy rollback paths widely, which would indicate friction with the rewritten default backend.