[KongchangAI]
Product

NCCL

NCCL (NVIDIA Collective Communications Library) is a multi-GPU collective communication library developed by NVIDIA, designed to accelerate inter-GPU communication in deep learning training across multiple GPUs and nodes. It provides standard collective communication primitives including AllReduce, Broadcast, Reduce, and AllGather, and fully utilizes high-speed interconnects such as NVLink and InfiniBand to achieve low-latency, high-bandwidth data exchange between GPUs. NCCL is widely integrated into major deep learning frameworks including TensorFlow and PyTorch, serving as a core communication component for large-scale distributed training.

Core Facts

Timeline (last 90 days)

Oct 28

PyTorch 2.15 is officially released, and the NCCL backend has been completely rewritten and made the default option.

Unverified50%
Oct 28

When upgrading to PyTorch 2.15 in multi-GPU scenarios, it is recommended to first verify communication-related timeout and exception logs on non-critical tasks, confirm normal operation with existing code and driver versions, and then roll it out gradually.

Unverified50%
Oct 28

"Hangs" in distributed training are mostly caused by mismatched collective communication calls, such as inconsistent order or number of collectives entered by each rank, or a rank failing to participate due to OOM or an abnormal exit.

Unverified50%
Oct 28

The underlying NCCL version is still determined by the user's environment, and when upgrading one needs to check driver and NCCL version compatibility.

Unverified50%
Oct 28

"Backend rewrite" usually means that on the PyTorch side, the wrapping logic of ProcessGroupNCCL, stream management, error handling and interaction with CUDA streams have been refactored, rather than the NCCL library itself being replaced.

Unverified50%
Oct 28

PyTorch's torch.distributed wraps NCCL through ProcessGroupNCCL.

Unverified50%
Oct 28

PyTorch's distributed data parallel (DDP) and FSDP are both built on NCCL.

Unverified50%
Oct 28

The rewritten NCCL backend introduces a flight recorder mechanism to leave on-site information usable for tracing when training hangs or crashes.

Unverified50%
Oct 27

To judge whether a training library supports horizontal scaling, the key is whether it has built-in wrappers for distributed communication backends (such as NCCL and Gloo) and whether it supports sharded data loaders and gradient accumulation.

Unverified50%
Oct 21

Distributed training refers to splitting a training task across multiple GPUs and machines for parallel execution when a single GPU cannot hold the model or data, with common strategies including data parallelism, tensor parallelism, and pipeline parallelism.

Unverified50%

22 more timeline events

All Facts (20)

Verified

Since its introduction in 2006, CUDA has become the de facto industry standard in the AI/deep learning field, with mainstream frameworks such as PyTorch and TensorFlow using CUDA as their default backend.

80%
Verified

CUDA是NVIDIA于2006年推出的并行计算平台和编程模型

80%
Verified

The CUDA Toolkit includes the compiler nvcc, debuggers, performance analysis tools, and math libraries such as cuBLAS and cuFFT.

75%
Verified

The barriers of the CUDA ecosystem are deeply rooted in operator libraries (cuBLAS, cuDNN), compilation optimization toolchains (NVCC, TensorRT), and distributed training frameworks (NCCL), forming NVIDIA's deep moat.

65%
Verified

Since its release in 2007, CUDA has accumulated nearly two decades of development, with its moat reflected in low-level optimization libraries such as cuDNN, TensorRT, and NCCL.

65%
Unverified

NCCL通信库已经针对NVLink拓扑做了深度优化

90%
Unverified

NCCL内部实现了Ring、Tree、Direct等多种集合通信算法以适应不同的网络拓扑和消息大小

90%
Unverified

NCCL Inspector直接嵌入NCCL运行时环境,以极低的性能开销采集每一次集合通信操作的关键指标

85%
Unverified

NCCL is a library designed by NVIDIA specifically for multi-GPU communication, supporting collective communication primitives such as AllReduce, Broadcast, and AllGather

70%
Unverified

PyTorch's distributed data parallel (DDP) and FSDP are both built on NCCL.

50%
Unverified

"Backend rewrite" usually means that on the PyTorch side, the wrapping logic of ProcessGroupNCCL, stream management, error handling and interaction with CUDA streams have been refactored, rather than the NCCL library itself being replaced.

50%
Unverified

The underlying NCCL version is still determined by the user's environment, and when upgrading one needs to check driver and NCCL version compatibility.

50%
Unverified

"Hangs" in distributed training are mostly caused by mismatched collective communication calls, such as inconsistent order or number of collectives entered by each rank, or a rank failing to participate due to OOM or an abnormal exit.

50%
Unverified

The rewritten NCCL backend introduces a flight recorder mechanism to leave on-site information usable for tracing when training hangs or crashes.

50%
Unverified

When upgrading to PyTorch 2.15 in multi-GPU scenarios, it is recommended to first verify communication-related timeout and exception logs on non-critical tasks, confirm normal operation with existing code and driver versions, and then roll it out gradually.

50%
Unverified

PyTorch's torch.distributed wraps NCCL through ProcessGroupNCCL.

50%
Unverified

To judge whether a training library supports horizontal scaling, the key is whether it has built-in wrappers for distributed communication backends (such as NCCL and Gloo) and whether it supports sharded data loaders and gradient accumulation.

50%
Unverified

Distributed training refers to splitting a training task across multiple GPUs and machines for parallel execution when a single GPU cannot hold the model or data, with common strategies including data parallelism, tensor parallelism, and pipeline parallelism.

50%
Unverified

NVIDIA's NCCL is a communication library for large-model training that handles efficient data exchange across multiple GPUs and machines and is key to distributed training performance.

50%
Unverified

CUDA's moat includes optimized libraries such as cuBLAS, cuDNN, and NCCL, the Nsight series of profilers and debuggers, and more than a decade of accumulated tutorials, Q&A, and third-party framework adaptations.

50%

Source Articles