本页目录

前沿 III · 专用加速器

层次:硕博 + 业界主战场 | 🔗 与 cs 站 GPU/MLSys 线、AI 站直接对接。 第四页给出了因果链:功耗墙 → 暗硅 → 专用化。本页把"专用化"这件事拆开算:一个专用电路凭什么比通用处理器快一到两个数量级?收益具体来自哪里?以及它的代价是什么?

一、通用处理器的开销在哪

执行一条加法指令,CPU 实际做了多少事?

取指、译码、寄存器重命名、乱序调度、分支预测、访存地址计算、缓存查找、写回、提交……真正的加法只占其中很小一部分能量。研究普遍表明,通用处理器执行一次运算的能量中,绝大部分花在"指令的管理"而非"数据的计算"上

这些开销是通用性的代价:CPU 不知道下一条指令是什么,必须准备好应对任何情况。专用加速器知道自己要算什么,于是可以把这些开销几乎全部省掉。

二、专用化的收益来源

拆成四项,每一项都可以独立评估:

① 消除指令开销。 固定功能单元不需要取指译码,控制逻辑是硬连线的。

② 定制数据通路与并行度。 直接摆放大量乘加单元,按算法的数据流连接。脉动阵列(systolic array)是经典结构:数据像脉搏一样在阵列中流动,每个数据被取出一次后在阵列内被复用多次——这直接攻击了第十页的核心问题(搬运比计算贵)。

③ 定制数制。 通用处理器要支持 FP64/FP32;而神经网络推理在 INT8、FP8 甚至更低精度下往往够用。能量大致随位宽的平方级下降(乘法器面积与能耗),这是深度学习加速器最大的单项收益。训练则需要更宽的动态范围,于是有 BF16、FP8 等格式的设计权衡(🔗 AI 站)。

④ 定制存储层次。 用软件可控的便签存储器(scratchpad)替代硬件管理的缓存,数据搬运在编译期就被规划好,避免了缓存的猜测与冲突开销。

综合起来,同一算法在专用电路上的能效可比通用 CPU 高一到两个数量级——这些收益是可以逐项估算的,不是玄学

三、谱系:从通用到专用

类型 灵活性 能效 典型场景
CPU 最高 最低 控制流复杂的通用任务
GPU 高(可编程 SIMT) 数据并行、训练
FPGA 中(可重构) 中高 小批量、需要快速迭代、原型
DSA/ASIC 低(固定功能) 最高 大规模部署的稳定负载

这是一条清晰的权衡曲线:灵活性与能效互为代价。

选择的经济学:ASIC 的 NRE(一次性工程费用)在先进节点极高(设计 + 掩模,第十一页)。只有出货量足够大、且算法足够稳定时才划算。这解释了几个产业现象:

一个关键风险算法演进可能让 ASIC 变废铁。为特定网络结构做的极致优化,可能因模型架构变化而失效——所以现代 AI 加速器的设计要在"专用"与"留有余地"之间取平衡,通常保留可编程的向量单元来处理未预见的算子。

四、设计的中心问题:数据流

加速器设计的核心不是"堆多少个乘法器",而是如何组织数据移动(承第十页)。

对一个卷积或矩阵乘,同一个数据可以在不同层级被复用。按"什么保持不动"分类:

没有普适最优——最优数据流取决于层的形状(批大小、通道数、卷积核大小)与存储层次结构。所以加速器设计与编译器/映射器必须协同设计,这也是 MLSys 这个领域存在的原因(🔗 cs 站 mlsys 线)。

Roofline 模型是分析工具:把性能上限画成计算强度(每字节数据完成多少次运算)的函数——低计算强度的算子受带宽限制,高计算强度的受算力限制优化的第一步永远是判断自己在屋顶线的哪一侧(🔗 cs 站 perf 线有完整推导)。

五、超越数字:几条更激进的路线【前沿/未定】

共同的模式(值得记住):这些路线在特定窄场景中确有优势,但要取代主流数字加速器,必须同时打败它的能效、精度、工具链生态与制造成熟度——最后一项往往才是致命的。这与第五页新器件、第十六页存内计算的处境完全一致。

六、系统视角:加速器不是孤岛

一个常被忽略的现实:加速器的实际收益往往被系统因素吃掉

七、要点


下一页:既然电互连的功耗越来越难以承受,能不能用光来传数据?硅光与射频——把光子和电磁波带进芯片。