NVIDIA / nccl
git clone https://github.com/NVIDIA/nccl.git
v2.32.3-1 · 1mo ago
🔥 on GitHub Trending today
NVIDIA's C++/CUDA library of optimized collective communication primitives (all-reduce, all-gather, broadcast, etc.) for multi-GPU and multi-node systems.
Why you might care
Used as the communication backend by many deep learning frameworks for multi-GPU training. It targets high bandwidth over PCIe, NVLink, NVSwitch, InfiniBand, and TCP/IP sockets, and works in single- or multi-process (e.g., MPI) setups.
+1
stars, 24h · #22,594
+~9
stars, 7 days · #13,917
+~40
stars, 30 days · #16,307
5.2k
★ total · +0% this week
1.5k
forks · 469 open issues
Star history (as recorded here)
LanguageC++
License—
Created2015-11-14 (10y ago)
Last pushtoday
Watchers164
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 — #8 daily in c++
GitHub topics
Links
- GitHub: github.com/NVIDIA/nccl
- Homepage: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/index.html
- Releases · Issues · Hacker News mentions
README excerpt
# NCCL Optimized primitives for inter-GPU communication. ## Introduction NCCL (pronounced "Nickel") is a stand-alone library of standard communication routines for GPUs, implementing all-reduce, all-gather, reduce, broadcast, reduce-scatter, as well as any send/receive based communication pattern. It has been optimized to achieve high bandwidth on platforms using PCIe, NVLink, NVswitch, as well as networking using InfiniBand Verbs or TCP/IP sockets. NCCL supports an arbitrary number of GPUs installed in a single node or across multiple nodes, and can be used in either single- or multi-process (e.g., MPI) applications. For more information on NCCL usage, please refer to the NCCL documentation. ## Build Note: the official and tested builds of NCCL can be downloaded from: https://developer.nvidia.com/nccl. You can skip the following build steps if you choose to use the official builds. To build the library : [code] If CUDA is not installed in the default /usr/local/cuda path, you can define the CUDA path with : [code] NCCL will be compiled and installed in `build/` unless `BUILDDIR` is set. By default, NCCL is compiled for all supported architectures. To accelerate the compilation and reduce the binary size, consider redefining `NVCC_GENCODE` (defined in `makefiles/common.mk`) to only include the architecture of the target platform : [code] ## Install To install NCCL on the system, create a package then install it as root. Debian/Ubuntu : [code] RedHat/CentOS : [code] OS-agnostic tarball : [code] Python wheel : [code] ## Tests Tests for NCCL are maintained separately at https://github.com/nvidia/nccl-tests. [code] ## Copyright All source code and accompanying documentation is copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved.
Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.