DeepSeek 开源六个昇腾内核库,去 CUDA 栈成形
给中国实验室一条经过生产检验、脱离 Nvidia 的迁移路径

9 月 30 日,DeepSeek 发布了对六个软件基础设施组件的昇腾 NPU 支持,这些组件是为华为昇腾 950 神经网络处理器(NPU)打造的 —— 发布的不只是一个额外的模型或基准,而是编程语言、矩阵计算库、分布式通信库、算子集合、注意力内核和数据选择工具,它们合在一起,构成了对 Nvidia CUDA 软件生态一套连贯的替代方案。这次发布恰逢华为昇腾平台将在 2026 年第四季度收到首批专用训练芯片出货,也恰逢 DeepSeek 在国产硬件上成功部署 V4.1 模型之后,中国企业下了大量昇腾 950 订单。
时间点是刻意的。DeepSeek 把这次发布安排在中国 AI 实验室从评估昇腾硬件、转向把生产负载投到上面的那个时刻。如今公开的这套软件栈 —— TileLang、DeepGEMM-Ascend、DeepEP-Ascend、TileKernels、FlashMLA-Ascend 和 DeepSelect —— 与面向 Nvidia 的对应版本逐个 API 对应。已经在用 DeepSeek 的 Nvidia 工具的开发者,只需要切换后端,而不用重写代码库。
延伸阅读:DeepSeek CEO 把重注押在华为训练芯片上
为什么 Nvidia 真正的护城河是软件,不是芯片
要理解这次发布的意义,需要先理解,为什么即使替代品不断改进,中国的 AI 实验室仍然依赖 Nvidia 硬件。华为的昇腾 950DT 芯片,FP8 吞吐为 1 PFLOPS,MXFP4 下为 2 PFLOPS,在原始规格上并不明显逊于 Nvidia 的 H100。问题一直在软件。
Nvidia 的统一计算设备架构,2007 年推出,围绕它积累了近二十年的基础设施投入。cuBLAS 负责矩阵运算,cuDNN 提供深度学习原语,NCCL 管理 GPU 集群间的集合通信,包括 PyTorch 和 TensorFlow 在内的框架,都是以 CUDA 为底层来构建的。切换加速器硬件不只意味着重新编译 —— 而是要把每一个自定义内核、每一个通信原语、每一套性能剖析和调试工作流,都移植到新的目标上。历史上,每项主要操作都意味着六到十二个月的工程量。
DeepSeek 的策略,是通过直接的 API 镜像来消除这种摩擦。这六个开源组件,每一个都对应 Nvidia 生态中的一个特定层,在昇腾上提供相同的调用约定和大致等价的功能。这个目标记录在 DeepSeek 的各个开放基础设施仓库中,就是让迁移变成一次后端替换,而不是一次重写。
TileLang:为硬件无关性而造的多后端编译器
TileLang 是整套栈的基石。它是一种使用 Python 语法的领域专用语言,编译器基于 Apache TVM 构建,让开发者无需直接面向特定硬件指令集,就能写出高性能的 AI 计算内核。编译器为目标平台生成代码 —— 从 SM70 到 SM120 的 Nvidia GPU、AMD ROCm、Apple Metal,以及现在的华为昇腾 950 —— 全部来自同一份源码。
在昇腾后端上,TileLang 封装了华为的 Ascend C —— 一种为 NPU 编程设计的 C 变体。TileLang 不要求工程师手动管理昇腾的分形矩阵布局、对齐约束和地址计算,而是自动处理这种转换。DeepSeek 称,生成的代码瞄准的是硬件的性能上限,而不是用效率换可移植性 —— 公司用基准数字支撑了这一说法:据称 TileLang 编译的 GEMM 内核达到手写 Ascend C 性能的 0.98 倍,注意力和向量内核为 0.95–0.96 倍。这些是项目自己发布的数字,没有经过独立复现。
TileLang 更深层的意义是架构性的。与 LLVM 的类比很贴切:正如 LLVM 为 CPU 编译器提供了一种与硬件无关的中间表示,最终支持了几十种架构,TileLang 的目标是为 AI 加速器发挥同样的作用。DeepSeek 明确表示,其目标是让 TileLang 成为其他中国 AI 芯片厂商采用的参照 —— 把这门语言定位为不是华为专属的工具,而是任何 NPU 厂商都可以支持的公共基础设施。
DeepGEMM 与 DeepEP:逼近硬件极限
矩阵乘法是大模型训练和推理的计算核心,因此 DeepGEMM-Ascend 所声称的性能数字,是这次发布中最关键的。在昇腾 950DT 上,DeepSeek 声称稠密 GEMM 达到了硬件理论 BF16 峰值的 99.8%,FP8 为 99.5%,FP4 为 98.3%。
这些数字如果能独立成立,就说明这个库不只是能用,而且在榨取硬件吞吐上有竞争力 —— 而这历来是从一种架构移植到另一种架构时最难的工程挑战。该实现把华为的矩阵累加与分发(MAD)原语,抽象在与 DeepSeek 面向 Nvidia 的 DeepGEMM 相同的 API 表面之后,并加入了针对昇腾内存层次结构的、基于协程的流水线优化。它支持 DeepSeek 的 V4 模型系列在训练和推理中使用的 BF16、FP8 和 FP4 精度格式,以及当前 DeepSeek 模型架构中出现的多查询注意力 logits(MQA logits)和 MegaMoE 算子。
DeepEP-Ascend 针对的是另一个瓶颈:混合专家(MoE)集群中的集合通信。像 DeepSeek V4 这样的 MoE 架构,每次前向传播把 token 路由到 256 个专家子网络中的一小部分,同时总参数量保持在 1.6 万亿,这要求训练集群中的每个加速器在每一步路由之后,都与其他所有加速器交换 token 激活。在规模化时,这种全对全通信模式经常成为约束瓶颈,而不是计算。DeepEP 的昇腾版本基于华为的 HCCL、HCOMM、UBMEM 和 URMA 通信原语实现,内核通过 DeepJIT 在运行时编译。在昇腾 950DT 的 128 卡超节点配置上的测试中,在专家并行规模至多 32 时,分发带宽达到物理网络上限的 90% 到 95%。超过 32 个专家并行组的性能没有报告。
FlashMLA 与 DeepSelect:长上下文上的稀疏计算
FlashMLA-Ascend 处理 DeepSeek 的多头潜在注意力(Multi-head Latent Attention)架构 —— 这是 V2 中引入的压缩方案,在计算注意力之前,把键和值投影到低维潜在空间,从而大幅降低 KV 缓存内存。昇腾版本加入了 DeepSeek 稀疏注意力(DSA),这是一种用名为 Lightning Indexer 的组件,在注意力运算运行之前,为每个查询预先选出最相关的前 K 个 token 的技术,大幅削减了长序列上的有效计算量。
FlashMLA-Ascend 的性能数字,作为头条数字相当惊人。在昇腾 950 上,预填充吞吐达到 410 TFLOPS,公司称这是芯片理论峰值的 95%。解码吞吐达到 360 TFLOPS,即峰值的 83%。这两个数字都是公司自己报告的。DeepSeek 还发布了一份技术报告,记录了昇腾预填充实现背后的优化技术。V4.1 的 FP8 KV 缓存格式每个 token 占用 528 字节;FP4 变体把它压缩到 288 字节 —— 这一缩减在稀疏注意力最重要的长上下文里会层层叠加。
DeepSelect 是六个组件中最小的一个,它优化的是 TopK 运算,这一运算出现在 DeepSeek 推理流水线的两个关键位置:Lightning Indexer 的 token 选择 —— 在 V4 中,每个查询要从极长序列中选出至多 512 个 token —— 以及词表采样 —— 推理系统在每个生成步骤从 128,000 个 token 的词表中做选择。两者都是热路径运算,每生成一个 token 就运行一次。据 DeepSelect 的 GitHub 仓库,该库的昇腾 NPU 支持于 2026 年 9 月 30 日加入。DeepSeek 声称,在昇腾平台上 DeepSelect 比 PyTorch 原生的 torch.topk 快 2 到 20 倍。这个宽泛的性能区间,反映出 TopK 效率对输入大小和分布很敏感。
超节点的雄心:128 颗芯片协同工作
单颗芯片的性能只是基础设施挑战的一部分。DeepSeek 和华为还共同设计了一种昇腾 950 超节点配置,把 128 颗芯片连成一个单一的计算单元,其芯片间互连和集合通信架构,是为支撑这些库所产生的工作负载而构建的。
128 颗芯片的规模对 MoE 训练尤其重要,因为专家并行路由会产生全对全的流量模式,压力在互连而不是计算上。围绕 128 卡集群的具体拓扑来设计 DeepEP —— 使用华为的外部 Clos 网络,并针对该流量模式优化分发 —— 意味着这个库的带宽数字,是在真实的生产集群上测出的,而不是合成测试。这次合作也表明了意图:华为和 DeepSeek 发布的工具,不是给只拿几颗芯片做实验的个人开发者的。基础设施的目标是集群规模的 AI 训练和推理。
DeepSeek 2026 年 6 月在约 1,000 颗昇腾 910C 芯片上进行的后训练 —— 这是继 2025 年 8 月在华为硬件上失败之后,第一次没有出现不稳定而完成的 —— 证明了这是可以做到的,但当时可用的软件栈是内部专有的。这次开源,让任何能使用昇腾硬件的组织都可以复现这种做法。
延伸阅读:DeepSeek CEO 把重注押在华为训练芯片上
差距现在仍然是什么样子
DeepSeek 发布的性能数字,就其所述而言令人印象深刻。但仍然存在几项重要的局限,公告并未提及。
这次发布中的每一个基准数字,都是开发者自己报告的,没有经过独立复现。GEMM 效率数字(达到 BF16 硬件峰值的 99.8%)、FlashMLA 吞吐数字和 DeepSelect 加速的说法,都在等待外部验证。这不是否定这些数字的理由,却是不把它们当作既定事实的理由 —— 尤其考虑到硬件厂商和 AI 实验室通常在有利的条件下测量效率。
华为的 CANN 软件开发工具包位于 DeepSeek 的工具层之下,提供底层编译器和性能剖析基础设施,其成熟度仍远低于 Nvidia 的 CUDA 工具生态。调试新的昇腾内核比调试 CUDA 内核更难,因为做过的开发者更少,可用的调试工具更少,社区知识也更有限。DeepSeek 的开源发布解决的是应用层;它没有解决那个更深层的工具成熟度差距 —— 正是这个差距让 DeepSeek 在 2025 年 8 月的首次华为训练运行失败。
社区差距十分悬殊。全球的 CUDA 开发者数以百万计,在开发者论坛、开源仓库和文档里积累了几十年的答案。昇腾内核开发社区要小几个数量级。TileLang 和算子库的开源,会加速该社区的成长,但无法立刻造出 CUDA 自 2007 年以来积累起的那种专业经验。
DeepSeek 作为中国默认的 AI 平台维护者
这次发布最重要的含义,不在于任何单个库的性能。而在于 DeepSeek 正在建立的平台地位。
通过开源与 Nvidia 栈做 API 镜像的工具,DeepSeek 不只是在帮华为与 Nvidia 竞争。它是在把自己定位为中国 AI 芯片与中国 AI 应用之间那个软件层事实上的维护者 —— 类似于 Meta 在全球通过 PyTorch 所占据的位置。采用 TileLang 做内核开发、DeepGEMM 做矩阵计算、DeepEP 做集群通信的组织,会围绕 DeepSeek 的设计选择、版本决策和 API 演进来构建工程工作流。DeepSeek 明确表示,其目标是让 TileLang 成为其他中国芯片厂商的范本,这意味着如果成功,这门语言的作者实际上就为中国新兴的国产 AI 芯片市场设定了接口标准。
这种平台动态的复利价值,独立于具体的效率数字。Nvidia 在 AI 算力上可持续的优势,并不来自它是唯一能训练神经网络的芯片,而来自累积的软件投入 —— 框架、调试工具、性能剖析器和开发者习惯 —— 它们让切换成本高得难以承受。DeepSeek 正在昇腾一侧构建同样的动态,而且是公开地构建,这就消除了国产芯片软件永远落后于专有生态的论点。
DeepSeek 创始人梁文锋设定了一年的窗口期 —— 暗指 2027 年第三季度 —— 看昇腾在真实世界的部署能否证明这套生态是可行的。有了六个经过生产检验的开源组件、一个共同规格的 128 卡超节点,以及已经在昇腾硬件上投入生产运行的 V4.1,剩下的考验是:更广泛的开发者社区,能否在 DeepSeek 自己的工作负载之外验证并扩展这些工具。预计 2026 年第四季度交付的华为昇腾 950DT 训练芯片,将给这个社区带来迄今最直接的考验。