Repolode
NVIDIA

NVIDIA/nccl

NCCL é a biblioteca da NVIDIA com primitivas otimizadas de comunicação entre GPUs, como all-reduce e all-gather, para treinamento em um ou vários nós.

Estrelas
5,211
Forks
1,475
Issues abertas
466
Último commit
há 3 dias

O que é?

NCCL (pronuncia-se “Nickel”) é uma biblioteca independente de rotinas de comunicação coletiva para GPUs. Ela implementa all-reduce, all-gather, reduce, broadcast e reduce-scatter, além de qualquer padrão de comunicação baseado em send/receive. É voltada a cargas de trabalho em que muitas GPUs precisam trocar dados rapidamente, como no deep learning distribuído.

O NCCL é otimizado para oferecer alta largura de banda por PCIe, NVLink e NVSwitch dentro de um nó, e por InfiniBand Verbs ou sockets TCP/IP entre nós. Ele aceita qualquer quantidade de GPUs em uma máquina ou distribuídas entre várias, e funciona tanto em aplicações de processo único quanto em aplicações multiprocesso (por exemplo, com MPI).

O repositório contém o código-fonte da biblioteca e alvos do make para compilá-la, além de opções de empacotamento para Debian, RPM, tarball genérico e wheel do Python. Os testes ficam em um repositório separado, nccl-tests.

Recursos principais

  • 01Implementa operações coletivas all-reduce, all-gather, reduce, broadcast e reduce-scatter
  • 02Aceita qualquer quantidade de GPUs em um nó ou distribuídas entre vários nós
  • 03Usa PCIe, NVLink, NVSwitch, InfiniBand Verbs e sockets TCP/IP
  • 04Funciona em aplicações de processo único e multiprocesso (por exemplo, MPI)
  • 05Pode ser compilado a partir do código-fonte ou empacotado como deb, rpm, tarball ou wheel do Python

Casos de uso

  • Sincronizar gradientes no treinamento distribuído de deep learning com várias GPUs
  • Trocar tensores entre muitas GPUs em tarefas de computação de alto desempenho
  • Medir a largura de banda das interconexões com o conjunto complementar nccl-tests

Início rápido

  1. 1

    Baixe as compilações oficiais do NCCL na página de desenvolvedores da NVIDIA

  2. 2

    Compile a biblioteca a partir do código-fonte

    make -j src.build

Antes de usar

  • A licença não está especificada claramente nos metadados, então confira os termos de licença do repositório antes de usar.
  • Para compilar a partir do código-fonte, é necessário ter o CUDA Toolkit instalado e uma GPU NVIDIA.

Em coleções

Tópicos

#gpu#cuda#distributed-training#collective-communication#deep-learning#hpc#communications#cpp#nvidia

Perguntas frequentes

O que é nccl?
NCCL é a biblioteca da NVIDIA com primitivas otimizadas de comunicação entre GPUs, como all-reduce e all-gather, para treinamento em um ou vários nós. NCCL (pronuncia-se “Nickel”) é uma biblioteca independente de rotinas de comunicação coletiva para GPUs. Ela implementa all-reduce, all-gather, reduce, broadcast e reduce-scatter, além de qualquer padrão de comunicação baseado em send/receive. É voltada a cargas de trabalho em que muitas GPUs precisam trocar dados rapidamente, como no deep learning distribuído.
nccl é gratuito? Qual é a licença?
nccl é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
nccl ainda é mantido?
Manutenção ativa. O último commit de nccl foi em 3 de nov. de 2026.
Para que posso usar nccl?
Sincronizar gradientes no treinamento distribuído de deep learning com várias GPUs Trocar tensores entre muitas GPUs em tarefas de computação de alto desempenho Medir a largura de banda das interconexões com o conjunto complementar nccl-tests
Como instalar nccl?
Baixe as compilações oficiais do NCCL na página de desenvolvedores da NVIDIA Compile a biblioteca a partir do código-fonte: make -j src.build
Onde consigo nccl?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/NVIDIA/nccl

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Biblioteca e API unificadas de comunicação coletiva, com operações como allreduce e broadcast para CPUs, GPUs e aceleradores de hardware em cargas de trabalho de HPC e IA.

Backend e APIs#collectives#hpc#mpi
322+1 esta semana132CBSD-3-ClauseBem mantidoAtualizado anteontem

Livro open source e coleção de código com anotações sobre CUDA moderno e mais de 200 kernels, cobrindo HGEMM, GEMM em FP8/FP4 e Flash-Attention.

Recursos de aprendizado#cuda#gpu#tensor-cores
12,2 mil+17 esta semana1,3 milCudaGPL-3.0Atualizado anteontem