OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Infrastructure & Serving

Uccl

UCCL is an open-source C++ GPU communication library with components for collective operations, peer-to-peer data transfers and expert-parallel communication. It supports distributed machine-learning workloads, including KV-cache and reinforcement-learning weight transfers across GPUs.

Independent OpenViST project profile, based on linked sources.

Uccl — OpenViST project profile in AI Infrastructure & Serving.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Consider UCCL when a distributed GPU workload needs collective operations, peer-to-peer transfers or expert-parallel communication, and the team can build and configure GPU communication infrastructure for its target platform.

Who it is for

  • Teams building or operating distributed machine-learning workloads across GPUs.
  • Developers integrating GPU collective communication, peer-to-peer transfers or expert-parallel execution.
  • Infrastructure engineers working with heterogeneous GPU and networking hardware.

Documented uses

  • Provide collective communication for multi-GPU workloads through a layer described as retaining NCCL/RCCL APIs.
  • Transfer LLM KV caches or reinforcement-learning weights between GPU-backed services or workers.
  • Run expert-parallel communication across supported heterogeneous GPU and networking setups.
  • Build and configure a network plugin for a PyTorch application using NCCL or RCCL.
Before you choose

Requirements & limits

The public GitHub repository identifies the project as Apache-2.0 licensed and provides build instructions.

  • UCCL has separate collective, P2P and expert-parallel components; select the one matching the workload.
  • Build targets distinguish CUDA, ROCm and TheRock environments, with separate options for RDMA and EFA collectives.
  • The documented PyTorch integration uses environment variables to select NCCL or RCCL plugin paths.
  • The repository reports performance comparisons for specified hardware configurations; results should be read in the context of those setups.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Build UCCL for a GPU platform

Build and install the selected UCCL component for a CUDA, ROCm or TheRock target.

Before you start

  • A Linux environment with the target GPU software stack.
  • A Python environment; the build script detects its Python version, or accepts a specified version.
  • The UCCL Git repository.

Steps

  1. Clone the UCCL repository and change into its directory.

  2. Choose a platform target such as cu12, cu13, roc7, roc6 or therock, and a component such as all, ccl_rdma, ccl_efa, p2p or ep.

  3. Run build.sh with the selected options and --install; specify a Python version or ROCm index URL when needed.

Expected outcome

The selected UCCL component is built and installed for the chosen platform target.

Guide limitations

  • The README identifies cu12 as targeting CUDA 12.8 and roc7 as targeting ROCm 7.1 by default; cu13 and roc6 target CUDA 13.0 and ROCm 6.4.
  • For ROCm Python packaging through TheRock, the README says to provide the desired ROCm index URL; its listed default may not be appropriate for every setup.
Source-based practical guide

Configure a PyTorch application to use UCCL's NCCL or RCCL plugin

Set the documented plugin environment variables for an existing PyTorch application after UCCL is installed.

Before you start

  • UCCL built and installed for the applicable platform.
  • A PyTorch application using NCCL or RCCL.

Steps

  1. For NCCL over IB/RoCE on x86 or GH200 ARM hosts, set NCCL_NET_PLUGIN to the path returned by uccl.nccl_plugin_path().

  2. For RCCL over IB/RoCE on x86 hosts, set NCCL_NET_PLUGIN to the path returned by uccl.rccl_plugin_path().

  3. For the documented AWS EFA configuration, set LD_PRELOAD and NCCL_NET_PLUGIN to the paths returned by uccl.efa_nccl_path() and uccl.efa_plugin_path(), respectively.

  4. Run the PyTorch application with the chosen environment configuration.

Expected outcome

The PyTorch application is configured to load the selected UCCL network plugin.

Guide limitations

  • The README specifies AWS EFA for p4d and p4de only.
  • The instructions describe environment configuration; they do not establish compatibility for every hardware or software combination.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
11 October 2026
Original website title
uccl-project/uccl · Official homepage title · retained in its source language