[Glean] NVIDIA NCCL Introduction
NCCL
NVIDIA Collective Communication Library (NCCL) is optimized primitives for inter-GPU communication.1
Introduction
The NVIDIA Collective Communications Library (NCCL, pronounced “Nickel”) is a library providing inter-GPU communication primitives that are topology-aware and can be easily integrated into applications.2
NCCL implements both collective communication and point-to-point send/receive primitives. It is not a full-blown parallel programming framework; rather, it is a library focused on accelerating inter-GPU communication.
NCCL provides the following collective communication primitives :
- AllReduce
- Broadcast
- Reduce
- AllGather
- ReduceScatter
Additionally, it allows for point-to-point send/receive communication which allows for scatter, gather, or all-to-all operations.