面向 HPC 与 AI 负载的统一集合通信库与 API,支持 CPU、GPU 及硬件加速器上的集合操作。
NVIDIA/nccl
NCCL 是英伟达的 GPU 集合通信库,提供 all-reduce、all-gather 等优化原语,用于单机和多机训练。
- Star
- 5,211
- Fork
- 1,475
- 未关闭 Issue
- 466
- 最近提交
- 4天前
这是什么?
NCCL(发音类似 "Nickel")是一个独立的 GPU 集合通信库,实现了 all-reduce、all-gather、reduce、broadcast、reduce-scatter 以及基于 send/receive 的任意通信模式。它主要面向需要多块 GPU 快速交换数据的场景,例如分布式深度学习。
在单机内,NCCL 针对 PCIe、NVLink 和 NVSwitch 进行了带宽优化;跨节点时,可通过 InfiniBand Verbs 或 TCP/IP 套接字通信。它支持单机或多机上任意数量的 GPU,既可用于单进程应用,也可用于多进程(如 MPI)应用。
仓库提供库源码的 make 构建方式,并支持打包为 Debian、RPM、通用 tarball 以及 Python wheel。测试代码维护在独立的 nccl-tests 仓库中。
核心功能
- 01实现 all-reduce、all-gather、reduce、broadcast、reduce-scatter 等集合通信操作
- 02支持单机或多机上任意数量的 GPU
- 03可经由 PCIe、NVLink、NVSwitch、InfiniBand Verbs 和 TCP/IP 套接字通信
- 04同时适用于单进程和多进程(如 MPI)应用
- 05支持从源码构建,也可打包为 deb、rpm、tarball 或 Python wheel
适用场景
- 多 GPU 分布式深度学习训练中的梯度同步
- 高性能计算任务中跨多块 GPU 交换张量数据
- 配合 nccl-tests 测试套件评估互连带宽
快速上手
- 1
从 NVIDIA 开发者页面下载官方 NCCL 构建版本
- 2
从源代码构建库
make -j src.build
使用前须知
- 元数据中未明确许可证,使用前请先查看仓库的许可条款。
- 从源码构建需要已安装 CUDA 工具包,并且需要 NVIDIA GPU。
收录于专题
标签
常见问题
- nccl 是什么?
- NCCL 是英伟达的 GPU 集合通信库,提供 all-reduce、all-gather 等优化原语,用于单机和多机训练。 NCCL(发音类似 "Nickel")是一个独立的 GPU 集合通信库,实现了 all-reduce、all-gather、reduce、broadcast、reduce-scatter 以及基于 send/receive 的任意通信模式。它主要面向需要多块 GPU 快速交换数据的场景,例如分布式深度学习。
- nccl 可以免费使用吗?用的什么许可证?
- nccl 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- nccl 还在维护吗?
- 活跃维护中。nccl 最近一次提交是在 2026年11月3日。
- nccl 适合用来做什么?
- 多 GPU 分布式深度学习训练中的梯度同步 高性能计算任务中跨多块 GPU 交换张量数据 配合 nccl-tests 测试套件评估互连带宽
- nccl 怎么安装和运行?
- 从 NVIDIA 开发者页面下载官方 NCCL 构建版本 从源代码构建库: make -j src.build
- 在哪里获取 nccl?
- 源代码和安装说明在 GitHub 上:https://github.com/NVIDIA/nccl
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
322+1 本周132CBSD-3-Clause维护活跃更新于 前天
NVIDIA 维护的 PyTorch 扩展,提供混合精度与分布式训练工具及可选的融合 CUDA/C++ 内核。
89991532PythonBSD-3-Clause更新于 4天前
基于 C++20 的头文件库,以 NumPy 风格的张量表达式在 NVIDIA GPU 或多线程 CPU 上进行数值计算,支持可选的内核融合。
1451131C++BSD-3-Clause更新于 昨天
在 AWS 上运行分布式 AI 训练与推理的参考架构、模板和示例集合。
495+2 本周215ShellMIT-0维护活跃更新于 21小时前
开源 CUDA 学习笔记与代码合集,包含 200 多个内核,涵盖 HGEMM、FP8/FP4 GEMM 与 Flash-Attention。
1.2万+17 本周1275CudaGPL-3.0更新于 前天