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=INFOimprime el transporte y los canales elegidos. Léelo.NCCL_IB_DISABLE=1fuerza sockets TCP en lugar de InfiniBand. Útil en una laptop y un desastre en producción.NCCL_SOCKET_IFNAME/NCCL_IB_HCAeligen las interfaces.
Diagnóstico
all_reduce_perfde 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
- NCCL User Guide
- Distributed Training (T. Tsugriy) — parallelism strategies, collectives, memory
Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.