DeepSeek 与华为开源昇腾工具链:降低对 NVIDIA 软件栈依赖

2026 年 10 月上旬,DeepSeek 与华为联合开源了一批面向昇腾(Ascend)生态的软件工具。据 Tom's Hardware 报道——其依据是 9 月 30 日路透的一则报道——这批开源内容包括用于 AI 计算与芯片间通信的库,以及昇腾对高层编程语言 TileLang 的支持。目的很明确:降低对 NVIDIA 软件生态(CUDA 栈)的依赖,让开发者在国产算力上训练和部署大模型时少一些移植成本。
两件事:把一张卡用满,把一群卡连起来
要理解这批工具解决什么,得先看多卡跑大模型的两个硬需求:一是在每张加速器上把计算效率做上去,二是芯片之间搬数据要足够快,快到不会让处理器空等。第二个需求常被低估——大模型训练和推理在很多阶段是通信受限而不是算力受限,卡再多,数据运不过来也白搭。官方说这两家公司正是在这一点上做了联合优化。
具体做法落在一个超节点系统上:据同一报道,双方围绕由 128 张昇腾 950 芯片组成的超节点优化了计算与通信。超节点的思路是把大量加速器通过高速互联当成一个逻辑整体来用,减少跨机跳数、缩短数据路径;软件要做的,就是让上层代码不必关心数据实际落在哪张卡上。
混合专家(MoE)模型让通信问题更尖锐。MoE 的训练与推理要把每个 token 路由到不同的「专家」上,再把结果合并回来,这个来回收发的模式在业界被称为 all-to-all。它天然是通信密集的:专家分散在不同芯片上,数据就得来回跑。也正因为如此,DeepSeek 这次把通信库与计算库一起开源,而不是只给一个算子库。
开源了什么:两个库与一门语言
计算侧是 DeepGEMM-Ascend。它负责矩阵乘法以及 DeepSeek 模型中使用的其他计算,支持 BF16、FP8 与 FP4 三种精度格式,并且沿用既有 DeepGEMM 库的编程接口——这一点对迁移很关键:开发者把工作负载搬到昇腾上时,不需要重学一套 API。矩阵乘法是深度学习里最核心的算子,几乎所有线性层最终都归到这里,所以这个库的效率基本决定了模型的吞吐上限。顺带解释一下这三种精度。BF16、FP8 与 FP4 指的是参与计算的数值用多少位来表示:位数越少,同样时间里能算的次数越多、搬运的数据量也越小,但数值误差的风险越高。近两年推理侧的加速,很大一部分就是靠往低精度迁移换来的,代价是要在设计上处理精度损失——所以一个算子库同时提供这三档,意味着开发者可以按任务的重要性自己权衡速度与准确度。
通信侧是 DeepEP-Ascend,负责训练与推理中的通信,包括把数据路由到混合专家模型的各个专家上,再把它们的输出合并起来。官方说明这两个库都是在昇腾 950 硬件上开发并测试的——这一点比接口列表更能说明成熟度,因为通信库的性能高度依赖具体的互联拓扑与硬件特性,脱离真实硬件写的实现很难跑出效果。
第三个部分是 TileLang。它为编写优化内核提供更高一层的编程抽象,DeepSeek 形容它提供了一种比 NVIDIA 的 CUDA「更简单的编程模型」,目标是提高开发效率、简化代码。这门语言此前已经支持 NVIDIA 与其他硬件,也存在针对昇腾处理器的早期适配;9 月 30 日的更新加入了对昇腾 950 的原生支持,包括代码生成、自动调度与同步。
这里要说明一件容易混淆的事:这批工具是建立在华为既有的 CANN 软件平台之上的。CANN 是昇腾上运行 AI 工作负载的底层基础设施,角色类似于 NVIDIA 的 CUDA 平台。CUDA 之所以难被替代,不只是因为编译器本身,而是它多年积累的成熟编程环境、库与开发者习惯构成了整套生态;而 TileLang 这类多平台语言的价值恰恰在于,它对多个平台的支持让它对 NVIDIA GPU 同样有用,不会被锁死在单一硬件上。
放在更大的节奏里看
时间线上有个细节:这批工具的公开,出现在华为发布其下一代 AI 处理器与超节点系统两周之后。华为当时表示,预计其 AI 系统将在 2027 年被广泛用于模型训练。把两件事排在一起看,硬件路线图与软件工具链是配套推进的——芯片换代的同时,编程层与算子库也需要跟上,否则新硬件的能力落不到开发者手上。
两家公司的合作也不是从这次开始的。DeepSeek 的 V4 模型在 4 月以预览形式发布时就带有对华为昇腾芯片的支持;按报道口径,华为称其昇腾 950 超节点完全支持 V4 系列模型,并且它的芯片参与了更轻量的 V4-Flash 模型的部分训练。到了这次开源,合作的位置从「让模型跑得起来」移到了「让开发者写得顺手」。
另外值得一提的是,这与 DeepSeek 在自家模型线上的动作是两回事,但方向一致:V4.1-Flash 发布时,官方也宣布将与开源社区合作支持它的推理部署。一个是在模型侧把部署路径开放出来,一个是在硬件侧把编程与通信的门槛降下来,两条线都在做同一件事——把工具链补齐。
为什么叫「软件栈补课」
在硬件受限的背景下,这一步是绕不开的。芯片能用只是第一道门,开发者的日常体验取决于编译器、算子库、通信库与编程语言是否顺手:写起来别扭、调优要靠猜、换个硬件就要重写,再好的峰值算力也会被放弃。反过来,当迁移只意味着换一组接口、代码结构基本不动时,生态才有可能真正长起来。
还有一层是开源本身的作用。硬件生态的建设很少有厂商能独自做完:算子库要覆盖真实业务里五花八门的形状与精度,通信库要适配各种互联拓扑,编译器要接住开发者写出来的千奇百怪的代码。把这些放到开源社区里,第三方可以审计、测速、提交适配,厂商也省下了一部分重复劳动;相应地,用的人也更容易判断这套栈到底能不能用在生产里,而不是只能看厂商自己给的数字。
所以这批开源工具的意义,不在于它立刻把性能拉到什么水平,而在于它补的是什么位置。计算库、通信库与编程语言这三件,正好是「把硬件能力交到开发者手里」最短的一段路径;把这三件开源,等于把这条路径上的入场费降下来。接下来值得关注的,是这些库在真实工程中的成熟度、社区适配的速度,以及昇腾在 2027 年训练场景里的实际占比——这些都需要时间给出答案,而不是靠一份公告。