InfiniCCL v0.1.0 发布:一个面向异构集群的统一通信库

在今天的大模型系统中,"通信"已经成为无法绕开的核心问题。
无论是训练还是推理,只要进入多卡、多节点场景,集合通信几乎都会成为系统吞吐、延迟与扩展能力的关键瓶颈。
从 NVIDIA 生态中的 NCCL,到 MPI 系列实现,再到不同国产 AI 芯片厂商各自维护的通信组件——整个 AI 基础设施领域长期面临一个非常现实的问题:
不同硬件平台之间,缺乏统一的通信抽象。
开发者往往需要针对不同硬件、不同 SDK、不同通信后端分别适配。平台切换、后端切换、多节点部署,都会带来大量额外工程复杂度。
而在异构算力越来越普遍的今天,这个问题正在变得更加突出。
近日,InfiniTensor 团队正式发布 InfiniCCL v0.1.0,这也是该项目的首个公开版本。
项目目标非常明确:
构建一个统一、跨平台、面向异构 AI 集群的集合通信库,为分布式深度学习与高性能计算场景提供统一通信接口。
从定位上看,InfiniCCL 更像是一个"统一通信抽象层"。
它并不打算替代某一个特定平台的通信实现,而是在更高层提供统一 API、统一运行方式,以及统一的异构集群编排能力,让开发者无需再针对不同硬件平台单独维护一套通信逻辑。
一个"类 NCCL"的统一通信接口
InfiniCCL 当前提供了一套类似 NCCL 的统一 C API。
在现有生态中,开发者熟悉的 AllReduce、AllGather、ReduceScatter、Broadcast 等集合通信操作,本质上都已经形成了一套事实标准。
InfiniCCL 并没有重新设计新的通信模型,而是选择兼容现有开发习惯,在接口层保持统一。
这样做的好处非常直接:
- ✅ 上层框架更容易迁移
- ✅ 不同平台间共享通信逻辑
- ✅ 新硬件接入成本显著下降
在我们看来,这种"统一抽象"其实比单纯性能更重要,更好的易用性会大大降低大规模系统中的工程复杂度。
平台与通信后端:自动检测
InfiniCCL v0.1.0 中一个很有意思的设计,是平台与后端自动检测能力。
传统通信库部署时,开发者通常需要显式指定平台、后端、节点,才能启用对应的支持。
而 InfiniCCL 在构建与运行阶段,会自动感知:
- 底层加速器类型
- 可用通信后端
- 当前运行环境
项目会根据环境自动启用对应平台支持。对于使用者来说,不必再去关注每个异构环境的单独维护部署逻辑,系统管理复杂度大幅降低。
智能集群编排:icclrun
如果说统一 API 是 InfiniCCL 的基础,那么 icclrun 则是这个项目目前最有工程特色的部分之一。
官方将其定义为:Smart Cluster Orchestration Tool。
在我们发布的 Releases v0.1.0 中,icclrun 已经不仅仅是一个简单 launcher,它提供了:
- 自动通过 SSH 编排多节点
- 自动在远程节点构建目标程序
- 自动部署运行环境
- 在异构集群中完成统一启动
以上特性来自于我们观察到:传统 MPI 或通信库部署中,需要去维护不同节点环境中路径、依赖、编译参数、后端SDK 等一致性问题。
很多时候,真正复杂的不是通信本身,而是部署。icclrun 的设计思路,是在试图把"通信库运行"升级为:"异构集群自动化部署框架"。
这也是为什么我们特别强调:
automated multi-node build and deployment
我们希望未来 AI 系统中的"通信层",不再只是通信本身,而是通信、部署、编译、调度、环境管理的一体化基础设施。
v0.1.0 已支持哪些能力?
虽然这是第一个公开版本,但 InfiniCCL 已经完成了相当完整的通信能力覆盖。
当前版本已实现以下基本算子,已基于 MPI 后端实现完整通信流程:
- ✅AllReduce
- ✅AllGather
- ✅ReduceScatter
- ✅Broadcast
- ✅AllToAll
- ✅Send / Recv
在硬件平台方面,目前已经支持:
- NVIDIA GPU
- MetaX GPU
- Cambricon MLU
- Moore GPU
- Iluvatar GPU
- CPU Runtime
在通信后端方面,目前支持:
- OpenMPI
- MPICH
并通过统一 MPI abstraction layer 进行封装。
自动化验证框架
除了通信实现本身,这次 release 还引入了:run_examples.py
该工具可以自动:
- 批量执行示例程序
- 控制 timeout
- 记录日志
- 顺序验证通信算子
写在最后
AI 基础设施正在进入一个新的阶段。
过去几年,我们更多关注:模型规模、算力规模、单机性能。但今天,越来越多的问题开始转向——"如何让异构系统真正协同工作"。而通信层,恰恰是其中最核心的一层。
InfiniCCL v0.1.0 也许只是一个开始,但它已经展现出了一个非常明确的方向:构建统一异构通信基础设施。
我们认为在目前国产 AI 芯片生态快速发展的背景下,这类项目的意义会越来越重要。
如果你对分布式系统、AI Infra 感兴趣,欢迎关注 InfiniTensor 与 InfiniCCL 项目,更多功能会在后续版本持续更新。
也欢迎一起参与:
🔹 新平台适配
🔹 通信后端开发
🔹 算子实现
🔹 测试与验证
🔹 文档建设
🔹 CI 与工具链完善
对于 AI 基础设施来说,真正重要的,从来不是某一个单独组件,而是整个生态是否能够逐渐形成统一、开放、可协作的底层能力。
而 InfiniCCL,希望能够成为这个生态中的一块基础拼图。
🔗 项目地址:
https://github.com/InfiniTensor/InfiniCCL
欢迎 Star、Issue、PR,也欢迎更多开发者一起参与建设。
点击文末 「阅读原文」,即可跳转至 InfiniCCL GitHub 项目主页,了解更多项目细节并参与共建。
关注与交流

