← 返回 AI 开源导航

Nccl

训练与微调

一、项目简介

NCCL(NVIDIA Collective Communications Library)是 NVIDIA 提供的多 GPU 集合通信库,实现了 AllReduce、Broadcast、AllGather 等高性能集合操作,并针对 GPU 拓扑做了优化,是大规模分布式训练通信层的基石。

二、核心特性

  • 多 GPU / 多节点通信;
  • 拓扑感知优化:自动利用 NVLink / NVSwitch / 网络结构;
  • 丰富集合操作:AllReduce、Broadcast、ReduceScatter 等;
  • 高带宽低延迟;
  • 与主流框架集成(PyTorch、TensorFlow、Megatron 等);
  • 支持 GPUDirect RDMA。

三、适用场景

  • 分布式训练通信;
  • 多卡 / 多机并行;
  • 高性能计算(HPC)。

四、快速上手

# 通常随 PyTorch/CUDA 环境自动使用
# 示例:torch.distributed 使用 nccl 后端
import torch.distributed as dist
dist.init_process_group(backend="nccl")

五、注意事项

  • 主要支持 NVIDIA 硬件;
  • 需匹配驱动与 CUDA 版本;
  • 节点间网络对性能影响显著。