nvidia/nccl

Optimized primitives for collective multi-GPU communication

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 5 minutes ago
Added to GitGenius on September 13th, 2026
Created on November 14th, 2015
Open Issues & Pull Requests: 439 (+0)
GitHub issues: Enabled
Number of forks: 1,421
Total Stargazers: 5,101 (+0)
Total Subscribers: 166 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 13.3 hours
Mean response time: 61.0 days
90th percentile: 48.1 days
Tracked items: 1,124

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 10% of issues opened in the past year have never received a reply. 97% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 67% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 45% of issues opened in the past year have been closed. Three people close 58% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 276
New in 7 days: 7
Closed in 7 days: 9
Avg open age: 320 days
Stale 30+ days: 238
Stale 90+ days: 212

Recent activity

Opened in 7 days: 7
Closed in 7 days: 9
Comments in 7 days: 39
Events in 7 days: 88

Top labels

  • question (200)
  • enhancement (38)
  • triaged (29)
  • bug (19)
  • more info needed (16)
  • fixed (8)
  • ongoing (7)
  • duplicate (4)

Detailed Description

NCCL is a library of optimized primitives for collective multi-GPU communication.

NCCL solves the problem of efficiently coordinating data exchange across multiple GPUs within a single node or across distributed systems. It implements standard collective communication operations including all-reduce, all-gather, reduce, broadcast, and reduce-scatter, along with arbitrary send/receive patterns. The library is optimized for various interconnect technologies: PCIe, NVLink, and NVswitch for local communication, and InfiniBand Verbs or TCP/IP sockets for network-based communication across nodes. This approach allows applications to achieve high bandwidth regardless of the underlying hardware topology.

NCCL is essential for developers building distributed deep learning systems, large-scale GPU computing applications, or any multi-GPU workload requiring coordinated communication. It suits both single-process applications and multi-process environments such as those using MPI. The library handles an arbitrary number of GPUs, making it flexible for different deployment scales. Official pre-built binaries are available from NVIDIA, though the source can be compiled locally with options to target specific GPU architectures and reduce binary size.

Development activity shows consistent maintenance with regular updates to support new GPU architectures and interconnect technologies. The project maintains separate test infrastructure in a dedicated repository, indicating a structured approach to quality assurance. Build infrastructure includes support for multiple installation methods across different operating systems, from Debian and RedHat packages to OS-agnostic tarballs and Python wheels, reflecting attention to diverse deployment environments.