Repolode
openucx

openucx/ucc

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.

Estrelas
322
Forks
132
Issues abertas
103
Último commit
anteontem

O que é?

UCC é uma biblioteca e API para operações de comunicação coletiva, ou seja, trocas de dados entre vários processos — como allreduce e broadcast — usadas por programas paralelos para coordenar seu trabalho. Ela foi projetada para cargas de trabalho de HPC, IA/ML e I/O e busca atender a vários modelos de programação e runtimes por meio de uma única interface.

A biblioteca oferece coletivas não bloqueantes, operações repetíveis que são inicializadas uma vez e executadas várias vezes, além de um modelo flexível de alocação de recursos. Coletivas de hardware são parte central do projeto. UCC se apoia nos utilitários UCS do UCX e lista como transportes compatíveis InfiniBand, RoCE, memória compartilhada, SHARP, CUDA, NCCL, RCCL e MLX5.

UCC pode ser usado como componente de comunicação coletiva do Open MPI, e o README mostra como habilitá-lo em programas MPI e OpenSHMEM por meio de parâmetros do mpirun. A compilação é feita com autotools e requer UCX; o suporte a CUDA e HIP é opcional.

Recursos principais

  • 01Operações coletivas não bloqueantes que atendem a vários modelos de programação.
  • 02Coletivas repetíveis, inicializadas uma vez e executadas várias vezes.
  • 03Coletivas de hardware compatíveis com SHARP e com os transportes InfiniBand, RoCE e MLX5.
  • 04Coletivas para GPU com suporte a CUDA, NCCL, HIP e RCCL.
  • 05Integração com Open MPI e OpenSHMEM por meio de parâmetros do runtime.

Casos de uso

  • Acelerar allreduce e broadcast em aplicações de HPC executadas em vários nós.
  • Executar treinamento distribuído de IA/ML com coletivas de GPU via InfiniBand ou RoCE.
  • Habilitar UCC como backend de comunicação coletiva para programas Open MPI ou OpenSHMEM.

Início rápido

  1. 1

    Clone o repositório e entre nele

  2. 2

    Gere os scripts de compilação

    ./autogen.sh
  3. 3

    Configure a compilação com o caminho de instalação do UCX

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

    Compile a biblioteca

    make

Antes de usar

  • É necessário compilar e instalar o UCX primeiro.
  • O README documenta apenas a compilação a partir do código-fonte, sem instruções de instalação por gerenciador de pacotes.

Em coleções

Tópicos

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

Perguntas frequentes

O que é ucc?
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. UCC é uma biblioteca e API para operações de comunicação coletiva, ou seja, trocas de dados entre vários processos — como allreduce e broadcast — usadas por programas paralelos para coordenar seu trabalho. Ela foi projetada para cargas de trabalho de HPC, IA/ML e I/O e busca atender a vários modelos de programação e runtimes por meio de uma única interface.
ucc é gratuito? Qual é a licença?
ucc é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
ucc ainda é mantido?
Manutenção ativa. O último commit de ucc foi em 5 de nov. de 2026.
Para que posso usar ucc?
Acelerar allreduce e broadcast em aplicações de HPC executadas em vários nós. Executar treinamento distribuído de IA/ML com coletivas de GPU via InfiniBand ou RoCE. Habilitar UCC como backend de comunicação coletiva para programas Open MPI ou OpenSHMEM.
Como instalar ucc?
Clone o repositório e entre nele Gere os scripts de compilação: ./autogen.sh Configure a compilação com o caminho de instalação do UCX: ./configure --prefix=<ucc-install-path> --with-ucx=<ucx-install-path> Compile a biblioteca: make
Onde consigo ucc?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/openucx/ucc

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

Projetos relacionados

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