2.3 达芬奇架构与昇腾 AI Core


文档摘要

2.3 达芬奇架构与昇腾 AI Core 如果说张量核心是 GPU 里的"AI 加速器",那么达芬奇架构的 Cube 单元就是 NPU 里"长在中心的主车间"——整个 AI Core 都围绕它运转。 2.3.1 达芬奇架构的设计起点 华为昇腾 NPU 采用的是自研的达芬奇架构。它的设计起点和 GPU 截然不同:达芬奇从一开始就是为神经网络运算定制的,它不追求通用性,而是把神经网络里最核心、最频繁的运算——三维张量的矩阵乘加——做成硬件原语。这就是 Cube 单元(立方量单元)名字的由来:它在一个时钟周期内完成一个"立方体"大小的矩阵乘累加。 这种"以矩阵乘为中心"的设计,让达芬奇架构天然适合现代大模型。

2.3 达芬奇架构与昇腾 AI Core

如果说张量核心是 GPU 里的"AI 加速器",那么达芬奇架构的 Cube 单元就是 NPU 里"长在中心的主车间"——整个 AI Core 都围绕它运转。

2.3.1 达芬奇架构的设计起点

华为昇腾 NPU 采用的是自研的达芬奇架构。它的设计起点和 GPU 截然不同:达芬奇从一开始就是为神经网络运算定制的,它不追求通用性,而是把神经网络里最核心、最频繁的运算——三维张量的矩阵乘加——做成硬件原语。这就是 Cube 单元(立方量单元)名字的由来:它在一个时钟周期内完成一个"立方体"大小的矩阵乘累加。

这种"以矩阵乘为中心"的设计,让达芬奇架构天然适合现代大模型。无论是 Transformer 的注意力计算,还是全连接层的矩阵乘,最终都可以归约为对 Cube 单元的反复调用。NPU 的"专用性",在这里体现为"用最短的硬件路径、最少的控制开销,去完成 AI 里最高频的那一类运算"。

💡 达芬奇 vs 传统 NPU:很多早期 NPU 是"阵列式"的脉动阵列(Systolic Array),数据沿固定方向流动。达芬奇的 Cube 单元在此基础上做了进一步优化,让单周期的矩阵乘规模更大、数据复用更充分。具体微架构细节属厂商未公开参数,但"三维矩阵乘原语"这个核心思想是公开且稳定的。

2.3.2 AI Core 的三单元协同

一颗昇腾 NPU 由多个 AI Core 组成,每个 AI Core 内部是经典的"Cube + Vector + Scalar"三单元协同结构。这三者的分工非常清晰:

单元 职责 类比
Cube(立方量) 三维矩阵乘加,AI 主力运算 工厂的主车间
Vector(向量) 向量运算:激活函数、归一化、逐元素运算 辅助车间
Scalar(标量) 标量运算与控制流、地址计算 工厂的调度室

三者的协同关系是这样的:Scalar 单元负责取指、译码和地址计算,把数据准备好;Cube 单元啃下最重的矩阵乘;Vector 单元接手 Cube 的结果,做激活、归一化等"非矩阵"运算。整个过程像一条流水线,数据在三个单元之间流动,每个单元只做自己最擅长的事。

达芬奇 AI Core 数据流(简化): 指令 ──► Scalar(标量/控制) │ 准备地址、配置参数 ▼ ┌────────┐ 输入A ──► │ Cube │ ──► 部分和 ──► ┌────────┐ 输入B ──► │ 矩阵乘 │ │ Vector │ ──► 输出 └────────┘ │ 激活/ │ ▲ │ 归一化 │ │ └────────┘ L0A/L0B/L0C (专用缓冲)

💡 Cube 专用缓冲:Cube 单元有自己的输入/输出缓冲(L0A、L0B、L0C),这是为了让矩阵乘的数据尽可能留在单元内部、不反复搬运。这种"运算单元带专用存储"的设计,是达芬奇能效比的来源之一,也呼应了第 3 章要讲的内存墙问题。

2.3.3 为什么达芬奇强调"能效"

理解了三单元协同,就理解了达芬奇架构的核心优势——能效比。它的能效来源有三:

  1. 数据通路最短:矩阵乘在 Cube 内部完成,数据从 L0 缓冲直接进 Cube,不需要像 GPU 那样在通用寄存器和功能单元之间来回搬运。
  2. 控制开销最小:因为是数据流驱动,没有 GPU 那套复杂的 Warp 调度、分支预测、缓存一致性逻辑,省下的晶体管和功耗都给了计算单元。
  3. 数据复用充分:Cube 单元在一次矩阵乘里可以多次复用输入数据,把访存次数压到最低。

这三点合起来,使得在同等制程下,达芬奇架构在 AI 负载上的能效通常优于通用 GPU。这也是华为在制程受限的现实下,仍然能让昇腾保持竞争力的根本原因——用架构效率弥补制程差距。

⚠️ 能效优势的前提:达芬奇的高能效建立在"负载是规整的神经网络运算"这个前提上。一旦遇到非典型 AI 运算(比如复杂控制流、不规则数据访问),Cube 单元无法发挥,性能就会显著退化。这是专用架构的固有代价。

2.3.4 昇腾950 在 SuperPoD 中的角色

昇腾950 是达芬奇架构的最新一代芯片,它是昇腾 SuperPoD 的算力基础。和 Blackwell 之于 NVL72 一样,昇腾950 的单卡能力决定了整个集群的规模上限:只有单卡能效足够高、单卡算力足够强,用 HCCS 把它们连起来组成的超节点、再用网络把超节点连成 SuperPod 才有意义。

需要特别说明的是,昇腾950 的具体微架构参数(如 Cube 单元的精确尺寸、AI Core 数量、片上存储容量)属厂商未公开或半公开信息,本教程不引用具体数字,重点讲清架构原理。读者若需精确参数,建议查阅华为官方发布的最新昇腾技术白皮书。

到这里,两大架构的"芯"我们都看过了:Blackwell 是"通用并行 + AI 加速",达芬奇是"专用张量 + 三单元协同"。下一节我们回到参数层面,看看这些设计差异如何反映到算力数字上——以及为什么这些数字不能直接横向比较。

思考与延伸

  1. Cube 单元的高效建立在"规整矩阵乘"上。如果一个新型 AI 模型(比如某种稀疏动态结构)破坏了这种规整性,达芬奇架构会受到多大冲击?相比 GPU 谁更脆弱?
  2. 三单元协同的流水线设计,意味着 AI Core 的吞吐由"最慢的环节"决定。你能想到哪些神经网络算子会让 Vector 单元成为瓶颈吗?
  3. 华为选择自研架构而非沿用国际主流 NPU 设计,背后有哪些战略考量?这种选择在生态建设上会带来什么长期影响?

本节关键词:达芬奇架构、AI Core、Cube 单元、Vector、Scalar、能效比 返回:第 2 章支柱页 下一节:2.4 算力口径辨析:稠密稀疏与有效算力


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U