[Glean] NVIDIA NCCL Introduction

Published: by Creative Commons Licence (Last updated: )

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.

Reference