Repolode
openucx

openucx/ucc

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

Звёзды
322
Форки
132
Открытые issues
103
Последний коммит
позавчера

Что это?

UCC — это библиотека и API для коллективных коммуникаций: обмена данными между процессами, например с помощью allreduce и broadcast, который параллельные программы используют для координации. Она предназначена для задач HPC, AI/ML и ввода-вывода и объединяет в одном интерфейсе поддержку разных моделей программирования и сред выполнения.

Библиотека поддерживает неблокирующие коллективные операции, повторно используемые операции, которые инициализируются один раз и запускаются многократно, а также гибкую модель выделения ресурсов. Аппаратные коллективные операции — один из ключевых элементов архитектуры. UCC использует утилиты UCS из UCX и поддерживает, среди прочего, InfiniBand, RoCE, shared memory, SHARP, CUDA, NCCL, RCCL и MLX5.

UCC можно использовать как компонент коллективных операций для Open MPI. В README приведены параметры mpirun для его включения в программах MPI и OpenSHMEM. Сборка выполняется с помощью autotools; требуется UCX, а поддержка CUDA и HIP необязательна.

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

  • 01Неблокирующие коллективные операции для разных моделей программирования.
  • 02Повторно используемые коллективные операции, которые инициализируются один раз и запускаются многократно.
  • 03Аппаратные коллективные операции с поддержкой SHARP и транспортов InfiniBand, RoCE и MLX5.
  • 04Коллективные операции на GPU с поддержкой CUDA, NCCL, HIP и RCCL.
  • 05Интеграция с Open MPI и OpenSHMEM через параметры среды выполнения.

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

  • Ускорение allreduce и broadcast в мног узловых приложениях HPC.
  • Распределённое обучение AI/ML с использованием коллективных операций на GPU через InfiniBand или RoCE.
  • Подключение UCC как бэкенда коллективных операций для программ на Open MPI или OpenSHMEM.

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

  1. 1

    Клонируйте репозиторий и перейдите в его каталог

  2. 2

    Сгенерируйте скрипты сборки

    ./autogen.sh
  3. 3

    Настройте сборку, указав путь установки UCX

    ./configure --prefix=<ucc-install-path> --with-ucx=<ucx-install-path>
  4. 4

    Скомпилируйте библиотеку

    make

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

  • Сначала необходимо собрать и установить UCX.
  • В README описана только сборка из исходного кода; установка через менеджер пакетов не рассматривается.

В подборках

Темы

#collectives#hpc#mpi#gpu#infiniband#distributed-computing#cuda#deep-learning#openshmem#pgas

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

Что такое ucc?
UCC — библиотека и API для коллективных коммуникаций: она выполняет операции вроде allreduce и broadcast на CPU, GPU и аппаратных ускорителях в задачах HPC и AI. UCC — это библиотека и API для коллективных коммуникаций: обмена данными между процессами, например с помощью allreduce и broadcast, который параллельные программы используют для координации. Она предназначена для задач HPC, AI/ML и ввода-вывода и объединяет в одном интерфейсе поддержку разных моделей программирования и сред выполнения.
ucc можно использовать бесплатно? Какая у него лицензия?
ucc распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ucc всё ещё поддерживается?
Активно поддерживается. Последний коммит в ucc — 5 нояб. 2026 г..
Для чего можно использовать ucc?
Ускорение allreduce и broadcast в мног узловых приложениях HPC. Распределённое обучение AI/ML с использованием коллективных операций на GPU через InfiniBand или RoCE. Подключение UCC как бэкенда коллективных операций для программ на Open MPI или OpenSHMEM.
Как установить ucc?
Клонируйте репозиторий и перейдите в его каталог Сгенерируйте скрипты сборки: ./autogen.sh Настройте сборку, указав путь установки UCX: ./configure --prefix=<ucc-install-path> --with-ucx=<ucx-install-path> Скомпилируйте библиотеку: make
Где скачать ucc?
Исходный код и инструкции по установке — на GitHub: https://github.com/openucx/ucc

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

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

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

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