UCCL 是 AI Skill Hub 本期精选AI工具之一。已获得 1.4k 颗 GitHub Star,综合评分 8.0 分,整体质量较高。我们强烈推荐将其纳入你的 AI 工具库,帮助提升工作效率。
高效的GPU通信库,支持collectives和P2P
UCCL 是一款基于 C++ 开发的开源工具,专注于 ai、allreduce、amd 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
高效的GPU通信库,支持collectives和P2P
UCCL 是一款基于 C++ 开发的开源工具,专注于 ai、allreduce、amd 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 克隆仓库 git clone https://github.com/uccl-project/uccl cd uccl # 查看安装说明 cat README.md # 按 README 完成环境依赖安装后即可使用
# 查看帮助 uccl --help # 基本运行 uccl [options] <input> # 详细使用说明请查阅文档 # https://github.com/uccl-project/uccl
# uccl 配置说明 # 查看配置选项 uccl --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export UCCL_CONFIG="/path/to/config.yml"
<p align="center"> <img src="./docs/images/uccl_logo.png" alt="" width="300"> </p>
<p align="center"> <a href="https://uccl-project.github.io/"><b>Blog</b></a> | <a href="https://join.slack.com/t/uccl-dev/shared_invite/zt-3xbjdb0d0-tvDeUhGxtYxvGqsGKQ31Uw"><b>Join Slack</b></a> | <a href="https://x.com/uccl_proj"><b>Twitter/X</b></a> | <a href="#road-map"><b>Roadmap</b></a> | <a href="#quick-start"><b>Quick Start</b></a> | <a href="https://github.com/uccl-project/uccl/issues/944"><b>Open Letter</b></a> </p>
</div>
UCCL is an efficient communication library for GPUs, covering collectives, P2P (e.g., KV cache transfer, RL weight transfer), and EP (e.g., IBGDA), with two key focuses: Flexibility for high performance in fast-evolving ML workloads Portability for connecting heterogeneous GPUs in ML workloads
An UCCL overview can be found in this slide deck with the following components:
<details> <summary>UCCL-collective performance comparison</summary>
On six HGX servers (across two racks) with 8x400G CX-7 RoCE NICs and 8xH100 GPUs, UCCL-collective outperforms NCCL by up to 2.5x for AllReduce: <p align="left"> <img src="./docs/images/allreduce_6_hgx.png" alt="" width="600"> </p> On two AWS g4dn.8xlarge instances with 1x50G ENA NICs and 1xT4 GPUs within the same cluster placement group, UCCL-collective outperforms NCCL by up to 3.7x for AllReduce: <p align="left"> <img src="./docs/images/allreduce_2_g4dn.png" alt="" width="600"> </p> </details>
<details> <summary>UCCL-collective high-level design</summary>
UCCL-collective aims to: rearchitect the CCL layer (while keeping NCCL APIs) to unleash the full potential of network hardware rearchitect the network transport layer to be fast and extensible support heterogeneous GPU and networking vendors such as Nvidia, AMD, and Broadcom become an open and collaborative platform for GPU communication research UCCL-collective has built a fast and extensible transport layer in software, which has created many benefits. For example, existing network transports under NCCL (i.e., kernel TCP and RDMA) leverage one or few network paths to stream huge data volumes, thus prone to congestion happening in datacenter networks. Instead, UCCL-collective employs packet spraying in software to leverage abundant network paths to avoid "single-path-of-congestion". * More benefits include: 1) packet spraying with 256 paths, 2) advanced congestion control such as latency-based and receiver-driven ones, 3) efficient loss recovery by selective repeat, and 4) widely usable in public clouds with legacy NICs and Ethernet. Feel free to check out our full technical report. </details>
<details> <summary>UCCL-P2P performance comparison</summary>
* Message transfer bandwidth over RDMA on AMD MI300X + Broadcom Thor-2: <p align="left"> <img src="./docs/images/p2p-mi300x-thor2.png" alt="" width="600"> </p> </details>
<details> <summary>UCCL-EP performance comparison</summary>
* EP32 dispatch and combine on AWS p5en (8x H200 + 16x 200Gb/s EFA): <p align="left"> <img src="./docs/images/ep32_dispatch_p5en.png" alt="" width="300" style="display:inline-block; vertical-align:middle; margin-right:10px;"> <img src="./docs/images/ep32_combine_p5en.png" alt="" width="300" style="display:inline-block; vertical-align:middle;"> </p> </details>
UCCL has been adopted as part of the AMD TheRock ecosystem.
sudo apt update sudo apt install linux-tools-$(uname -r) clang llvm cmake m4 build-essential \ net-tools libgtest-dev libgflags-dev \ libelf-dev libpcap-dev libc6-dev-i386 libpci-dev \ libopenmpi-dev libibverbs-dev clang-format -y
bash build.sh [cu12|cu13|roc7|roc6|therock] [all|ccl_rdma|ccl_efa|p2p|ep] \ [py_version] [rocm_index_url] --install
> Note:
> - By default, `build.sh cu12` targets CUDA 12.8 and `build.sh roc7` targets ROCm 7.1, but you can also specify `cu13|roc6` to target CUDA 13.0 or ROCm 6.4.
> - UCCL uses [nanobind](https://github.com/wjakob/nanobind) for C++/Python bindings. On Python 3.12+, wheels are tagged `cp312-abi3` (stable ABI, one wheel for all 3.12+ interpreters); on older Pythons, wheels are CPython-version-specific.
> - When building for ROCm with python packaging through TheRock, please specify your ROCm index url; the default is `https://rocm.prereleases.amd.com/whl/gfx94X-dcgpu` and it may not be what you want. When installing UCCL wheels for TheRock, please provide pip with the index url and add the optional extra `[rocm]` to the wheel, e.g., `pip install --extra-index-url https://rocm.prereleases.amd.com/whl/gfx94X-dcgpu wheelhouse-therock/uccl-0.0.1.post4-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl[rocm]`.
Then, when running your PyTorch applications, set the environment variable accordingly: bash
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash ./Miniconda3-latest-Linux-x86_64.sh -b source ~/miniconda3/bin/activate source ~/.bashrc # or .zshrc and others conda init
pip install paramiko intervaltree pybind11 nanobind
The easiest way to use UCCL is to first build based on your platform. The build script will automatically detect the py_version of your current environment. If you need to compile UCCL for a specific python version, please specify the py_version, such as 3.10.
```bash git clone https://github.com/uccl-project/uccl.git && cd uccl
<details><summary>Click me</summary>
First clone the UCCL repo and init submodules:
git clone https://github.com/uccl-project/uccl.git
export UCCL_HOME=$(pwd)/uccl
To build UCCL for development, you need to install some common dependencies:
```bash
高效的GPU通信库,支持多种硬件平台
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
经综合评估,UCCL 在AI工具赛道中表现稳健,质量优秀。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | uccl |
| 原始描述 | 开源AI工具:UCCL is an efficient communication library for GPUs, covering collectives, P2P (。⭐1.4k · C++ |
| Topics | aiallreduceamdbroadcomcollectivec++ |
| GitHub | https://github.com/uccl-project/uccl |
| License | Apache-2.0 |
| 语言 | C++ |
收录时间:2026-05-25 · 更新时间:2026-05-26 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。