Pila de softwareRuta Operación

NCCL

Leerlo en el Capítulo 2 · checkpoint +50 XP →

La biblioteca de comunicación colectiva de NVIDIA: all-reduce, all-gather y demás, conscientes de la topología, sobre NVLink, PCIe y RDMA.

NCCL ("nickel") implementa las colectivas de las que depende el entrenamiento distribuido: all-reduce, all-gather, reduce-scatter, broadcast y send/recv. Descubre la topología (NVLink, NVSwitch, PCIe, NIC) y construye anillos y árboles para aprovecharla. Ver All-reduce (anillo y árbol).

Variables de entorno que conviene conocer

  • NCCL_DEBUG=INFO imprime el transporte y los canales elegidos. Léelo.
  • NCCL_IB_DISABLE=1 fuerza sockets TCP en lugar de InfiniBand. Útil en una laptop y un desastre en producción.
  • NCCL_SOCKET_IFNAME / NCCL_IB_HCA eligen las interfaces.

Diagnóstico

  • all_reduce_perf de nccl-tests mide el bus bandwidth alcanzable. Córrelo en nodos libres para detectar enlaces malos antes que los usuarios.
  • Las colectivas colgadas terminan con un watchdog timeout de PyTorch. La causa suele ser un rango malo: un enlace caído, una GPU perdida o un straggler que dejó de responder.

Úsalo en una misión

Relacionado

Fuentes y lecturas adicionales

Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.