UCX
1 3 秒看懂
UCX(Unified Communication X)是一个开源、跨厂商的统一通信框架与 API 标准。它像一套高性能的“通信翻译层”,让 PyTorch、TensorFlow 等 AI 训练框架以及科学计算程序,无需感知底层网络硬件细节,就能自动调用 InfiniBand、RoCE、NVLink、共享内存等最高效的数据通道。在由成千上万张 GPU 组成的训练集群中,UCX 是保证算力单元之间数据交换“低延迟、高带宽、零拷贝”的核心中间件,是决定集群总体利用率(MFU)的隐形神经连接系统。
2 3 分钟产业解释
大规模 AI 训练(千卡至万卡集群)的本质是并行计算,所有参与计算的 GPU/加速卡在每一次迭代中都需要交换海量梯度、参数或专家路由信息。如果通信效率跟不上,算力就会被空转等待,形成“通信瓶颈”。现实中的网络硬件高度异构:NVIDIA 端采用 InfiniBand 和 NVSwitch 互联,AMD 生态多用 RoCE(RDMA over Converged Ethernet),云厂商有时因成本考虑保留 TCP/IP 通道,还有 Intel 的 Omni-Path 和新兴的 CXL 内存池化互连。每一种硬件都拥有自己特有的驱动接口和优化路径,如果应用开发者要逐一适配,工程复杂度极高,且会形成“烟囱式”的硬件绑定。
UCX 解决的是 “写一次代码,在多种网络上高效运行” 的问题。它在应用程序(更准确地说,是集合通信库 NCCL、Gloo、OneCCL,或 MPI 实现)与硬件驱动之间,插入了一层标准化、可动态适配的中间层。通信库调用 UCX 的统一 API(ucp),UCX 则根据运行时环境自动选择并加载最优传输层模块(如 uct_ib、uct_rocm、uct_cuda_ipc),并启用 RDMA、GPUDirect 等高级特性。这种架构一举打破了“特定通信库绑定特定硬件”的传统模式——例如,NCCL 虽然为 InfiniBand 做了极致优化,但通过 UCX,它同样可以流畅运行在非 NVIDIA 的 InfiniBand/RoCE 硬件上;AMD 的 RCCL(ROCm 版集合通信库)也同样可以穿透 UCX 适配多种网络。由此,数据中心和超算中心在采购硬件时,能够降低对单一供应商的依赖,混合部署不同代的网卡、加速卡和交换机,通过统一的 UCX 层获得接近硬件物理极限的性能。
产业趋势上,随着模型参数规模向万亿级演进,AI 集群已经从单栋建筑内的几台机柜,扩展至横跨多个数据中心的分布式系统。在这一尺度下,网络通信不再是“附属品”,而是决定训练成败的关键设施。UCX 的推广程度,直接映射了一个基础设施生态的开放性与可演进能力。它也被众多云厂商(AWS、Azure、Google Cloud、Oracle Cloud)和国家级超算中心(如美国 Frontier、欧洲 LUMI)采用,成为衡量一个 AI 平台是否具备“规模化可靠通信”能力的基准组件。
3 技术原理
UCX 采用分层、可插拔的模块架构,核心目标是实现高性能通信的原语抽象,同时将硬件差异封装在可动态加载的传输层中。其设计不仅追求低延迟和高带宽,更关注 CPU 卸载、内存零拷贝和消息协议的自适应选择。
3.1 架构分层
[ 应用/通信库 ] (NCCL, MPI, SHMEM, Gloo, OneCCL)
|
[ UCP 协议层 ] : 高级通信语义,包括 tag-matching、活跃消息(Active Message)、流(stream)、远程内存访问(RMA)
|
[ UCS 服务层 ] : 内存管理器、事件循环、异步任务调度、拓扑发现、性能计数器、日志
|
[ UCT 传输层 ] : 模块化硬件后端
├─ uct_ib (InfiniBand/RoCE)
├─ uct_rocm (AMD ROCm RDMA)
├─ uct_cuda_ipc / uct_rocm_ipc (GPU 内同一节点 P2P)
├─ uct_cma (CPU 共享内存跨进程)
├─ uct_tcp, uct_ugni (Cray GNI), uct_self 等
- UCP (Unified Communication Protocols):对上层暴露端点(ucp_ep)、工作线程(ucp_worker)和请求句柄。它实现了所有通信模式,包括点对点两阶段协议(eager/rndv)、集合通信加速原语和端到端保序机制。UCP 会根据消息大小、缓冲区位置(主存或显存)和网络链路特征,自动选择合适的 UCT 传输和协议。
- UCS (Unified Communication Services):提供跨所有层共享的基础服务,如大页内存池(可绑定 NUMA)、无锁队列、原子操作、设备发现与拓扑树构建,以及细粒度的性能监控(支持 PAPI、Accelerator Metrics)。
- UCT (Unified Communication Transport):最接近硬件的抽象层,定义了底层传输的接口(如
uct_ep_am_short等),并将 RDMA read/write、send/recv、原子操作等映射到不同的驱动程序。每个 UCT 模块可以在运行时加载,支持多 rail(多网卡)聚合和错误处理策略。
3.2 零拷贝与 GPUDirect RDMA
UCX 深度集成 Linux 内核的 ib_verbs、nvidia-fs、dmabuf 等框架,实现 GPU 缓冲区直接通过 RDMA 网卡拉取数据,无需经过 CPU 内存搬移。
- 对于 NVIDIA GPU,UCX 借助 CUDA IPC 和 GPUDirect RDMA 技术(通过
uct_cuda组件),使 NCCL 在跨节点 ring 或 tree 算法中可直接发送/接收 GPU 显存中的数据。 - 对于 AMD GPU,UCX 则利用 ROCm 的 RDMA 支持(
uct_rocm)以及 Linux DMA-BUF 进行 P2P,实现与 NVIDIA 生态类似的零拷贝效果。 - 内存注册缓存:UCX 内部维护了内存域(memory domain)和注册缓存,避免频繁的
mr_reg开销,这对于反复使用相同数据传输缓冲区的训练循环至关重要。
3.3 异步执行与协议选择
UCX 采用基于事件驱动和异步请求的模型。所有的通信操作立即返回 ucs_status_ptr_t 句柄,实际进度由内建的轮询线程或应用手动调用 ucp_worker_progress 推进。这种方式允许通信与计算高效重叠。
- 小消息(<= 约 8KB) 通常采用 eager 协议,消息立即通过快速路径发送,在接收方预先配好的 bounce buffer 中落地,延迟可低至 1-2 微秒。
- 大消息(> 约 8KB) 使用 rendezvous 协议,先握手交换缓冲区信息,再由硬件通过 RDMA write 直接写入目标内存,带宽可接近网卡物理极限(例如 400GB/s 的 NDR InfiniBand 实际有效带宽可达 390Gbps+)。
3.4 拓扑感知与路由
UCX 能够通过 ucs_topo 发现 PCIe 拓扑、NUMA 节点、GPU 与网卡的亲和性,并据此建立最少跳数的通信路径。在构建通信端点时,优先选择与 GPU 同一 PCIe 交换节点的 HCA(主机通道适配器),避免跨 NUMA 的 QPI/UPI 带宽瓶颈,这对单机八卡训练框至关重要。
4 关键参数
评估 UCX 部署性能的关键参数集中在消息延迟、峰值带宽、CPU 开销和规模扩展性,这些指标通常会通过 ucx_perftest 工具量化。
注:以上典型值多基于 UCF 社区在 2022-2024 年发布的公开测试数据,具体结果随硬件世代、固件版本及系统配置差异显著,实际部署时需自行测试。
5 技术路线
5.1 起源与演进
UCX 项目始于 2014 年,由美国能源部(DOE)劳伦斯利弗莫尔、橡树岭、阿贡等国家实验室,联合 Mellanox(后并入 NVIDIA)、IBM、Arm 等发起,目标是为百亿亿次(E)级超算提供统一的通信运行时。它整合了早期 UCM(Unified Communication for Multicore)和 UCP 原型的思路,并于 2016 年前后形成稳定的开源代码库。2018 年后,随着 NVIDIA 收购 Mellanox 以及 AMD 大力推动 ROCm,UCX 迅速成为联接 InfiniBand、RoCE、Cray Slingshot 等网络的中间件事实标准。截至 2024 年末,UCX 由 UCF 联盟(包括 NVIDIA、AMD、Intel、HPE、Micosoft、Oracle 等)联合维护,其发布节奏约为每年 2-3 次主要版本。
5.2 主流技术栈位置对比
| 比较维度 | UCX | 原生 Verbs API | NCCL | libfabric (OFI) |
|---|---|---|---|---|
| 定位 | 统一通信中间件 | 硬件用户态驱动接口 | GPU 专用集合通信库 | HPC 通用通信 API 框架 |
| 可移植性 | 高,覆盖 InfiniBand、RoCE、TCP、共享内存、Cray 等 | 低,绑定 InfiniBand/RoCE 厂商驱动 | 中,主要支持 NVIDIA GPU 搭配 InfiniBand/RoCE | 高,支持多种网络(但每个 provider 需独立开发) |
| GPU 亲和与零拷贝 | 原生支持 GPUDirect RDMA、CUDA IPC、ROCm | 需额外库配合 | 深度优化 GPU Direct | 部分 provider 支持,成熟度滞后 |
| 上层应用示例 | NCCL、RCCL、Gloo、MPI、SHMEM | 直接编程(少见) | PyTorch、TensorFlow 等框架的分布式后端 | MPICH、某些云存储服务 |
| 维护社区 | UCF 多厂商联盟 | 厂商各自维护 | NVIDIA 主导开源 | OFI 工作组,Intel 等 |
UCX 与 libfabric 存在一定的竞争/互补关系。libfabric 被 MPI 实现(如 MPICH)广泛使用,但在 AI 集群中,因 NCCL 和 RCCL 更倾向穿透 UCX 来获取最稳定的 GPUDirect RDMA 支持,使得 UCX 在 AI 工作负载中的实际占有率更高。
5.3 未来路线
- CXL 互连集成:随着 Compute Express Link 成为统一缓聚内存接口,UCX 已在试验性分支中支持 CXL.mem 和 CXL.cache,未来有望实现跨节点内存池化通信。
- 多样化传输卸载引擎:对 DPU/IPU(如 NVIDIA BlueField、Intel IPU)的支持不断增强,将 UCX 控管面迁移至智能网卡,进一步降低主机 CPU 占用。
- 多路径与自适应路由:UCX 正在增强对 NVIDIA SHARP(网络聚合)和 AMD 类似技术的支持,使集合通信从“端到端”转向“网络内计算”模式,减少数据移动量。
- 安全多租户与 TLS:面向云环境,UCX 将逐步引入基于 DTLS 的 RDMA 加密和内存域隔离,以满足金融、医疗等大规模训练对数据安全的要求。
6 上游
UCX 的上游依赖主要涵盖硬件驱动、内核子系统与编译器工具链,它们共同构成通信能力和高性能运行的基础。
- 硬件厂商驱动栈
- NVIDIA:MLNX_OFED(含 ib_uverbs、mlx5 内核驱动及用户空间库 libibverbs),直接为
uct_ib提供 RDMA 设备操作。NVIDIA HCA 固件版本会影响 UCX 的原子操作和 RDMA 内存传输的可靠性。 - AMD:ROCm RDMA 驱动(基于 Linux 内核的
amdkfd、irdma或rxe及用户态的rocm_rdma库),uct_rocm依赖此栈。 - Intel:Intel Ethernet RDMA 驱动(irdma)或旧的 i40iw 驱动,支撑
uct_ib在 Intel E810 等网卡上的 RoCE v2 运行。 - 其他:Cray 的 gen1,以及 Broadcom 的 RoCE 网卡驱动等。
- Linux 内核 RDMA 子系统
rdma-core用户空间库(含 libibverbs、librdmacm)是 UCX 在 InfiniBand/RoCE 上运行的基石。内核中 ib_core、ib_uverbs 模块提供硬件抽象和设备文件操作接口。- 内存固定与注册依赖内核的
pin_user_pages等功能,任何内核版本差异都可能影响 UCX 大页和物理地址连续内存的分配性能。
- GPU 运行时库
- CUDA Toolkit(含 CUDA driver API、nvidia-fs、cuda-ipc),用于
uct_cuda_ipc和 GPUDirect RDMA;ROCm 对应堆栈用于uct_rocm_ipc。 - 对 AMD 而言,还需 Linux 内核 DMA-BUF 框架支持 GPU P2P。
- 编译与构建工具
- UCX 使用 GNU Autotools 构建系统,依赖 C11 编译器、pthreads 和 numactl。在功能启用上,可选依赖 knem(用于高性能共享内存)和 xpmem,以及 java、python 绑定等。
- 固件与交换机
- InfiniBand 交换机 SM(子网管理器)必须正确配置路由和分区键,否则 UCX 无法建立可靠连接。NVSwitch 等盒内互连也需配合
uct_cuda实现多 GPU 单机高效通信。
7 下游
UCX 的直接下游是各种集合通信库、并行编程模型和分布式框架。这些下游软件通过链接 UCX 获得跨多种硬件的统一高性能传输通道。
- AI 框架分布式后端
- NCCL: NVIDIA 集合通信库,PyTorch、TensorFlow 等框架所依赖的默认通信内核。NCCL 通过
--enable-ucx或环境变量NCCL_PROTO=UCX启用 UCX 作为 transport 插件,这使得 NCCL 不仅可以用 InfiniBand,还可以在 RoCE、TCP 上执行 allreduce、allgather 等操作。 - RCCL: AMD 的 ROCm 通信库,核心实现与 NCCL 同源,也通过 UCX 实现多网卡、多节点集合通信。
- Gloo: Meta 开源的通信库,主要用于 PyTorch 分布式数据并行(DistributedDataParallel)在后端
gloo模式,支持 UCX 作为底层 transport,提供基于 InfiniBand/RoCE 的加速。 - OneCCL: Intel 提供的集合通信库,用于其 oneAPI 生态,整合了 UCX 以提升在 HPU 和 GPU 集群上的适用性。
- 消息传递接口(MPI)
- OpenMPI: 可通过
--with-ucx编译,使用 UCX 的 PML(Point-to-point Messaging Layer)或 BTL 层。大多数 HPC 中心采用 OpenMPI + UCX 组合来运行天气模拟、分子动力学等经典并行程序。 - MPICH 及 MVAPICH: 部分版本支持 UCX 作为可选的 netmod/transport,尽管它们更常使用 libfabric。
- 高级并行编程模型与框架
- UCC (Unified Collective Communication): 一个构建在 UCX 之上的集合通信库级抽象,旨在进一步统一多个通信后端的集体操作 API,UCX 是其核心传输提供者。
- SHMEM/PGAS: 部分 PGAS 实现利用 UCX 的 RMA 语义实现远程内存访问。
- 分布式存储与计算引擎: 如 Spark RAPIDS 加速库、Horovod 的一部分后端、以及 Dask 的部分网络插件也尝试穿透 UCX 来减少 shuffle 阶段的数据移动延时。
- 最终用户应用
- 大模型训练(如 LLM、多模态模型)通过 PyTorch FSDP、DeepSpeed、Megatron-LM 等框架间接使用 UCX。
- 科学计算(如 VASP、GROMACS)通过 MPI 间接调用 UCX。
- 终端开发者通常无需直接调用 UCX API,但其性能和配置直接影响训练和仿真的迭代速度。
8 受益公司
UCX 作为基础中间件,其广泛采用和持续演进,使多类公司和机构在不同层面受益。
- 芯片与硬件厂商
- NVIDIA:拥有完整的 InfiniBand(Mellanox)产品线和 Spectrum-X 以太网方案,通过 UCX 使其网络硬件的价值得以在非 NVIDIA 主导的软件栈中体现,并降低了客户迁移风险,增强整体计算平台的锁定强度。
- AMD:在挑战 NVIDIA AI 训练生态时,UCX 是其搭建高性能 ROCm 网络的关键支点。通过 RCCL+UCX,使 AMD GPU 能够接入 InfiniBand 或 RoCE 交换机,而无需从零构建专有网络生态。
- Intel:通过 UCX 支持其 Habana Gaudi HPU、IPU 智能网卡和以太网交换产品,争取在超算和 AI 集群中获得更开放的互操作性。
- Arm:ARM 架构服务器(如 AWS Graviton)在云 AI 集群中运行,UCX 提供了可观的通信优化,有助于 Arm 生态进入 HPC/AI 份额。
- 云服务商
- AWS:其自研的 EFA(Elastic Fabric Adapter)网络适配器通过实现 libfabric 也提供 RDMA,但 AWS 的 ParalletCluster 和 EKS 环境中,UCX 常作为 MPI 和 NCCL 的加速层,使 EFA 可以无缝支持多租户 AI 训练。
- Microsoft Azure、Google Cloud、Oracle Cloud:在这些云平台上的 GPU 超算实例中,UCX 是其高性能网络软件栈的必要组件,用于将 InfiniBand 或 RDMA over Ethernet 的能力暴露给租户的 PyTorch 作业,直接关系到客户满意度与算力利用率的 SLA。
- 国内云厂商:阿里云、华为云等在自有 AI 加速器或 GPU 集群中也使用或兼容 UCX,以降低通信软件迁移成本。
- 超算中心与国家级实验室
- 如美国橡树岭国家实验室(Frontier)、阿贡国家实验室(Aurora)、欧洲高性能计算联合组织(EuroHPC)等,其系统软件栈深度依赖 UCX,承载着数十亿美元的超算投资,受益于 UCX 带来的硬件可互换性和长期维护的持续性。
- AI 模型企业与创业公司
- OpenAI、Anthropic、Google DeepMind、Meta 等大规模模型训练企业,通过 UCX 在硬件层面获得性能优化,无需固守单一网络技术路径,从而在采购谈判时拥有更多筹码。
- DPU/IPU 厂商
- NVIDIA BlueField、Intel IPU、Marvell、Broadcom 等智能网卡产品,通过高效支持 UCX RDMA 卸载,实现主机 CPU 通信开销趋近于零,这直接拉开了与传统网卡在 AI 组网中的代际差距。
9 市场规模
UCX 本身为开源中间件,不产生直接市场营收,其关联的间接市场体量取决于下游高速互连设备的支出和部署规模。公开资料未见专门针对“UCX 相关市场”的独立测算,但可依据关联硬件与系统市场进行观察:
- InfiniBand 市场:据 NVIDIA 财务披露,其网络业务(含 InfiniBand 和以太网)收入在 2025 财年第二季度(截至 2024 年 7 月 28 日)达到 37 亿美元,同比增长 114%,其中有相当比重来自 AI 集群的 InfiniBand 适配器和交换机。行业分析机构如 Dell’Oro Group 在 2024 年 7 月的报告中指出,AI 后端网络市场(含 InfiniBand 和高速以太网)在 2024 年有望超过 300 亿美元。尽管这些数字并非 UCX 专属,但鉴于 InfiniBand 与 RoCE 生态几乎全面使用 UCX 或 libfabric,UCX 的有效渗透率极高。
- RDMA 智能网卡市场:650 Group 等机构预估 2023 年 DPU/IPU 市场规模约为 20-25 亿美元,预计 2028 年将超过 100 亿美元(数据来源待核实,综合多家分析)。这类硬件的高阶价值需通过 UCX 等软件栈来变现。
- HPC 系统支出:根据 Hyperion Research 2024 年 6 月数据,2023 年全球 HPC 服务器市场约为 380 亿美元,其中很大一部分系统集成了 UCX 优化的通信库。AI 训练集群的 TCO(总拥有成本)中,网络通常占 10-20%,这部分网络设备的价值释放直接与 UCX 成熟度相关。
需要强调的是,上述数据并非对 UCX 市场规模的精确统计,而是反映其所处的并行软件和硬件交叉领域的总体热度和增长趋势。UCF 联盟并未对 UCX 采取商业授权模式,所有贡献来自成员单位的开源投入。
10 玩家对比
在 AI/HPC 统一通信中间件赛道上,尽管 UCX 具有事实标准地位,但存在其他技术路径或框架与其竞争或协同。
| 玩家/技术 | 策略与关键特征 | 与 UCX 的关系 | 社区与生态影响力 |
|---|---|---|---|
| NVIDIA (Mellanox) | 拥有 InfiniBand 主导权,推动 UCX 与 NCCL 深度整合,同时在其 BlueField DPU 上提供对 UCX 的卸载支持。 | 核心贡献者,大量代码提交和测试。 | 极高,定义了 AI 网络主流软件栈。 |
| AMD | 通过 RCCL + UCX 实现 ROCm 生态的集合通信,积极参加 UCF 并贡献 uct_rocm 等模块。 | 关键贡献者,力求性能对等。 | 影响力随 MI300 等部署增长,但社区贡献量仍小于 NVIDIA。 |
| Intel | 一方面推动 libfabric 作为 MPI 首选后端,另一方面也在 OneCCL 中集成 UCX,在其 GPU/HPU 集群中提供选择。 | 参与贡献 uct_ib 功能和 oneAPI 集成,但策略更偏向双轨。 | 生态影响力分化,部分 HPC 使用 libfabric,AI 场景向 UCX 靠拢。 |
| HPE/Cray | Slingshot 互连采用 custom provider,内部使用 Portals 或透过 UCX 的 uct_ugni 进行适配。 | 特定硬件provider的维护者。 | 在 Frontier 等系统上验证了万卡规模,定制化程度高。 |
| Huawei (Ascend) | 华为昇腾生态推广自己的 HCCS 和 HCCL 通信库,但部分对外合作和学术机构环境仍兼容 UCX 以支持第三方网络。 | 有限贡献,主要出于兼容性考量。 | 在中国国内市场影响力大,国际开源参与度有提升空间。 |
| Libfabric (OFI) | 通用 HPC 通信 API,广泛应用于 MPICH、某些存储系统,但在 GPUDirect RDMA 和与 NCCL 的深度适配方面不如 UCX。 | 与 UCX 存在路线竞争,但部分场景共存。 | 老牌 HPC 领域根基深厚,但在 AI 大模型训练生态中处于追赶状态。 |
| 特定厂商的纯驱动直调路径 | 一些封闭系统(如特定云的自研 RPC)直接构建在 libibverbs 上,放弃 UCX 的抽象,以换取极致微调的性能,但牺牲可移植性。 | 互补/替代,多出现在定制化程度极高的头部 AI 实验室。 | 零星存在,不构成主流生态。 |
综合来看,UCX 在 AI 基础设施中的统治地位源于其与 NCCL/RCCL 的紧密耦合以及多厂商共建的治理模式,短期内难以被替代。libfabric 则在经典超算和部分存储领域保留优势。
11 风险
任何开源基础软件都存在不可忽视的风险,UCX 也不例外。
-
维护与治理风险:UCX 高度依赖 NVIDIA(原 Mellanox 团队)和少数国家级实验室的核心工程师。尽管 UCF 联盟成员众多,但关键路径的代码审查和版本发布仍然由少数人主导。一旦发生主要贡献机构战略转向或人才流失,项目可能面临发展缓慢、安全漏洞未能及时修补等风险。
-
硬件厂商支持退潮:如果某一天 NVIDIA 或 AMD 决定在 AI 通信库(如 NCCL)中完全绕过 UCX,采用纯私有、闭源的优化路径,UCX 在头部 AI 训练负载中的使用率将大打折扣。目前尚无此种迹象,但技术企业在竞争压力下可能做出此类决策。
-
安全与隔离不足:RDMA 通信本身存在安全设计缺陷,例如一旦建立连接,远端可直接读写内存。UCX 虽然在连接创建阶段引入了 key 匹配,但缺乏对 multi-tenant 云环境的原生强隔离和加密。在涉及敏感数据的训练集群中,可能存在数据泄露或被恶意节点注入的风险。与 TLS 和安全内存域的集成仍在早期阶段。
-
性能垄断与内卷:虽然 UCX 带来开放性,但超级优化往往需要逐个硬件进行深度参数调优,这最终仍可能导致大客户(如顶级云厂商和 AI 实验室)内部建立专门团队,形成一种新的“工程能力垄断”。对中小企业和新进入者,调优 UCX 以实现“数万卡线性扩展”仍有极高门槛。
-
替代技术演进:CXL 互连、Ultra Ethernet Consortium 等新标准可能在未来提供比 RDMA 更优的池化通信模型。如果新的互联标准自带高层 API 并直接整合进 AI 框架,UCX 的抽象层价值可能被削弱。
-
许可证变更风险:UCX 采用 BSD 3-Clause 许可证,对商业友好。但历史上开源项目变更许可证的案例并不罕见,若未来转向 GPL 或引入附加条款,可能影响部分云厂商和硬件厂商的集成意愿。
以上风险均为技术生态中的普遍隐忧,目前尚无具体事件表明 UCX 将立即面临严重的持续性危机,但使用者和投资者需持续跟踪联盟动态和代码库活跃度。
12 误读纠偏
-
误读:“UCX 是 NVIDIA 专属的通信库,和 NCCL 本质一样。” 纠偏:UCX 是由多家公司和国家实验室组成的 Unified Communication Framework 联盟所维护的开源项目,是通信中间件。NCCL 是 NVIDIA 公司开发的 GPU 集合通信库,两者是上下游协作关系。NCCL 可以配置为以 UCX 作为底层传输方式,但这并不是唯一方式,NVIDIA 自有优化路径(例如 NCCL 的 InfiniBand 直接传输)仍然在多数单一路径高性能场景使用。把 UCX 贴上“NVIDIA 标签”会掩盖其跨硬件、跨架构的根本定位。
-
误读:“启用了 UCX,集群通信性能就自动最优,无需调优。” 纠偏:UCX 提供了高性能的接口和默认路径,但“开箱即优”只有在小规模、典型配置下才可能成立。现实中的集群需要针对消息大小分布、传输协议(rc/ud/dc)、QoS、多 rail 分裂(
UCX_MAX_RNDV_RAILS)、内存分配策略等大量环境变量进行细致调整,才能逼近硬件极限。此外,还需要交换机、子网管理器和 PCIe 拓扑协同优化。 -
误读:“UCX 只能用在 InfiniBand 上。” 纠偏:UCX 的设计初衷就是支持多种传输层,包括 InfiniBand、RoCE、TCP/IP、共享内存、CUDA IPC/ROCm IPC,甚至 Knem 和 xpmem。在大规模集群中,通常混合使用节点内共享内存和跨节点 InfiniBand/RoCE,统一由 UCX 管理,使得同一个进程可以高效地同时使用多种传输资源。
-
误读:“只要使用 UCX,AI 框架就能自动获得所有 RDMA 优势。” 纠偏:获得 RDMA 的零拷贝和低延迟优势,还需要上层框架(如 PyTorch)正确使用通信 API,并且硬件、内核、驱动、库版本全部兼容。尤其是 GPUDirect RDMA 要求 GPU 驱动、NIC 固件和 CUDA/ROCm 版本严格匹配。如果某一层未正确注册内存,通信可能回退到慢速的拷贝路径,而用户并未察觉。
-
误读:“UCX 是在削弱 NVIDIA 的硬件锁定。” 纠偏:UCX 在一定程度上让非 NVIDIA 硬件也能接入高性能通信,但这并不意味着它“反 NVIDIA”。相反,NVIDIA 作为 UCX 的核心维持者,通过 UCX 巩固了其 InfiniBand 交换机、BlueField DPU 的全场景覆盖能力。UCX 实现的是生态互通,而非硬件替代。
13 最新事件
本节聚焦 2023 下半年至 2024 年的关键动态,体现 UCX 及周边生态的演进