PyTorch 2.15 Released: NCCL Backend Rewritten and Made Default

PyTorch 2.15 rewrites the NCCL backend and makes it the default, adding a flight recorder to help diagnose communication failures.
PyTorch 2.15 is officially released, with the core change being that the rewritten NCCL backend becomes the default option, directly affecting all NCCL-based multi-GPU training jobs, including DDP and FSDP. The official release also introduces a flight recorder mechanism that records communication state like a black box for retrospective analysis after training hangs or crashes, turning sporadic communication failures that were previously hard to reproduce into verifiable problems. The article notes that the changes are concentrated in the distributed communication layer, with single-GPU training and inference less affected; before upgrading in production, validate on non-critical jobs, focus on communication timeouts and exception logs, and confirm compatibility with existing code and driver versions before rolling out gradually.
PyTorch 2.15 has been officially released, and the headline change is that the NCCL backend has been completely rewritten and made the default option. For researchers and engineers who rely on multi-GPU training, this change to the communication layer is worth a careful look.

NCCL Backend Rewrite: More Than Just a New Implementation
The official blog explicitly states that the rewritten NCCL backend is now the default, and that a flight recorder has been introduced. The former changes the underlying communication path of distributed training, while the latter is a debugging-oriented mechanism—when training stalls or crashes, the flight recorder leaves behind on-site information that can be used for retrospective analysis.
The hardest distributed training problems to diagnose are often not errors, but "no error and yet nothing moves." NCCL communication hangs are a typical scenario, and in the past you could only guess and try repeatedly. The flight recorder's approach is similar to an aircraft black box: it doesn't interfere with operation day to day, but provides key clues when something goes wrong.
Impact of the Default Backend Change
NCCL is the standard library for collective communication on NVIDIA GPUs, and PyTorch's Distributed Data Parallel (DDP) and FSDP are both built on top of it. With the backend rewritten and set as the default, the vast majority of multi-GPU training jobs will automatically take the new path after upgrading. The official choice to switch the default directly indicates sufficient internal confidence in the rewritten version's stability, but for production environments, validating on a small-scale job before upgrading remains a prudent practice.
NCCL (NVIDIA Collective Communications Library) is a collective communication library provided by NVIDIA that implements primitives such as all-reduce, all-gather, and broadcast, with topology-aware bandwidth optimization for interconnects including NVLink, InfiniBand, and PCIe. PyTorch's torch.distributed wraps it through ProcessGroupNCCL, and DDP's gradient reduction and FSDP's parameter sharding communication ultimately land on NCCL calls. A "backend rewrite" here typically means that on the PyTorch side, the wrapping logic, stream management, error handling, and coordination with CUDA streams in ProcessGroupNCCL have been refactored—not that the NCCL library itself has been replaced. The underlying NCCL version is still determined by the user's environment, which is also why driver and NCCL version compatibility need to be checked during upgrades.
What Problem Does the Flight Recorder Solve?
Debugging training interruptions is extremely costly, especially for sporadic communication failures on large-scale clusters. The value of the flight recorder lies in turning "problems that cannot be reproduced after the fact" into "problems that can be investigated after the fact." It records state information during communication rather than business-layer logs, which brings problem localization closer to the root cause.
Tools like this usually don't make their presence felt in day-to-day training, but once a hang or timeout occurs, whether you can quickly obtain on-site data directly determines whether troubleshooting takes hours or days.
"Hangs" in distributed training are mostly caused by mismatched collective communication calls—for example, ranks entering collectives in different orders or numbers, or a rank not participating because of OOM or an abnormal exit. In such cases, NCCL spins internally while waiting, and the process neither reports an error nor makes progress, leaving conventional Python tracebacks with nothing to work with. To localize such problems, you need to know which collective each rank last entered, what its sequence number was, and which CUDA stream it is stuck on. The flight recorder does exactly this by continuously recording this communication metadata in a ring buffer and exporting a snapshot on timeout or crash for analysis by torch.distributed debugging tools, thereby determining which rank and which call went out of sync.
Upgrade Recommendations
The changes in PyTorch 2.15 are concentrated in the distributed communication layer, so single-GPU training and inference tasks are relatively little affected. In multi-GPU scenarios, it is recommended to first select a non-critical job in the training pipeline for validation, focusing on communication-related timeouts and exception logs, confirm that the rewritten NCCL backend works properly with existing code and driver versions, and then roll it out gradually.
The official blog post is titled PyTorch 2.15 Release Blog, and more details can be found in the release notes.
Related articles

Last Week Tonight Exposé: The Dangerous Ties Between Politicians and White Supremacy
Last Week Tonight investigates Georgia Senate candidate Mike Collins and Florida candidate Marshall Rawson, exposing their multiple ties to white supremacists and the Republican Party's silent response.

AI Buzz Weekly: GPT-6.5 Leak, New Claude Model, and MiniMax's Cost-Effectiveness
This week's AI buzz roundup: suspected GPT-6.5 leak, Microsoft configs showing GPT-6.1 Tera, Anthropic's new model that can identify entire classes of bugs, disappointing early Gemini 4 Carbon results, and MiniMax M3.1 Flash beating Claude Opus 5 and GPT-5.6 Sol in benchmarks at extremely low cost.

AI Briefing: Gemini 4 Carbon Released, Ant Open-Sources Ling-3.1
AI Briefing: Google releases Gemini 4 Carbon qubit model, claiming to surpass Opus 5.5 with half-price tokens; Ant open-sources Ling-3.1-1019 for real-task Personal Agents; domestic AI drug discovery succeeds in 18 of 19 projects, hitting all 6 GPCR targets; zero-revenue company valued at $20B raises another $1B; Sichuan convenience store robot sales fail.