Repolode
NVIDIA

NVIDIA/nccl

NCCL — библиотека NVIDIA с оптимизированными примитивами обмена данными между GPU, такими как all-reduce и all-gather, для обучения на одном или нескольких узлах.

Звёзды
5,213
Форки
1,473
Открытые issues
466
Последний коммит
позавчера

Что это?

NCCL (произносится «Никель») — отдельная библиотека коллективных коммуникационных операций для GPU. Она реализует all-reduce, all-gather, reduce, broadcast и reduce-scatter, а также любые схемы обмена данными на основе send/receive. Библиотека предназначена для задач, в которых множеству GPU нужно быстро обмениваться данными, например для распределённого глубокого обучения.

NCCL оптимизирована для высокой пропускной способности при обмене данными внутри узла через PCIe, NVLink и NVSwitch, а между узлами — через InfiniBand Verbs или сокеты TCP/IP. Библиотека поддерживает произвольное количество GPU на одной машине или на нескольких и работает как в приложениях с одним процессом, так и в многопроцессных приложениях (например, MPI).

В репозитории находится исходный код библиотеки с целями make для её сборки, а также варианты упаковки для Debian, RPM, универсальный tarball и Python wheel. Тесты находятся в отдельном репозитории nccl-tests.

Ключевые возможности

  • 01Реализует коллективные операции all-reduce, all-gather, reduce, broadcast и reduce-scatter
  • 02Поддерживает произвольное количество GPU внутри одного узла или на нескольких узлах
  • 03Использует PCIe, NVLink, NVSwitch, InfiniBand Verbs и сокеты TCP/IP
  • 04Работает в приложениях с одним и несколькими процессами (например, MPI)
  • 05Собирается из исходного кода или упаковывается в deb, rpm, tarball либо Python wheel

Сценарии использования

  • Синхронизация градиентов при распределённом обучении глубоких моделей на нескольких GPU
  • Обмен тензорами между множеством GPU в задачах высокопроизводительных вычислений
  • Измерение пропускной способности межсоединений с помощью набора тестов nccl-tests

Быстрый старт

  1. 1

    Скачайте официальные сборки NCCL со страницы разработчиков NVIDIA

  2. 2

    Соберите библиотеку из исходного кода

    make -j src.build

Что важно знать

  • В метаданных лицензия указана неясно, поэтому перед использованием ознакомьтесь с условиями лицензии репозитория.
  • Для сборки из исходного кода необходимы установленный CUDA Toolkit и графические процессоры NVIDIA.

В подборках

Темы

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

Частые вопросы

Что такое nccl?
NCCL — библиотека NVIDIA с оптимизированными примитивами обмена данными между GPU, такими как all-reduce и all-gather, для обучения на одном или нескольких узлах. NCCL (произносится «Никель») — отдельная библиотека коллективных коммуникационных операций для GPU. Она реализует all-reduce, all-gather, reduce, broadcast и reduce-scatter, а также любые схемы обмена данными на основе send/receive. Библиотека предназначена для задач, в которых множеству GPU нужно быстро обмениваться данными, например для распределённого глубокого обучения.
nccl можно использовать бесплатно? Какая у него лицензия?
nccl распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
nccl всё ещё поддерживается?
Активно поддерживается. Последний коммит в nccl — 3 нояб. 2026 г..
Для чего можно использовать nccl?
Синхронизация градиентов при распределённом обучении глубоких моделей на нескольких GPU Обмен тензорами между множеством GPU в задачах высокопроизводительных вычислений Измерение пропускной способности межсоединений с помощью набора тестов nccl-tests
Как установить nccl?
Скачайте официальные сборки NCCL со страницы разработчиков NVIDIA Соберите библиотеку из исходного кода: make -j src.build
Где скачать nccl?
Исходный код и инструкции по установке — на GitHub: https://github.com/NVIDIA/nccl

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

UCC — библиотека и API для коллективных коммуникаций: она выполняет операции вроде allreduce и broadcast на CPU, GPU и аппаратных ускорителях в задачах HPC и AI.

Бэкенд и API#collectives#hpc#mpi
321132CBSD-3-ClauseАктивно поддерживаетсяОбновлён 11 часов назад

Открытая книга и коллекция кода с конспектами по современному CUDA и более чем 200 ядрами для HGEMM, GEMM с FP8/FP4 и Flash-Attention.

Обучающие материалы#cuda#gpu#tensor-cores
12,2 тыс.+16 за неделю1,3 тыс.CudaGPL-3.0Обновлён 17 часов назад