NVIDIA/nccl
Optimized primitives for collective multi-GPU communication
What it solves
It provides optimized communication primitives for GPUs, enabling efficient data exchange between multiple GPUs whether they are located on a single node or spread across multiple nodes.
How it works
NCCL implements standard communication routines such as all-reduce, all-gather, reduce, broadcast, and reduce-scatter, as well as general send/receive patterns. It is optimized for high bandwidth across various hardware platforms, including PCIe, NVLink, NVswitch, and networking protocols like InfiniBand Verbs and TCP/IP sockets.
Who it’s for
Developers building multi-GPU applications, often using single- or multi-process environments (such as MPI), who need high-performance inter-GPU communication.
Highlights
- Optimized for high bandwidth on PCIe, NVLink, and NVswitch.
- Supports InfiniBand Verbs and TCP/IP sockets for multi-node communication.
- Compatible with single- or multi-process applications.
- Implements a wide range of standard communication routines (e.g., all-reduce, all-gather).
Related
- Project
- Project
- Project
- Project
- Project