前沿 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(一次性工程费用)在先进节点极高(设计 + 掩模,第十一页)。只有出货量足够大、且算法足够稳定时才划算。这解释了几个产业现象:
- 算法变动快的领域用 GPU/FPGA;
- 超大规模数据中心自研 ASIC 划算(量足够大);
- FPGA 的位置:介于两者之间,适合中等批量与需要现场更新的场合。
一个关键风险:算法演进可能让 ASIC 变废铁。为特定网络结构做的极致优化,可能因模型架构变化而失效——所以现代 AI 加速器的设计要在"专用"与"留有余地"之间取平衡,通常保留可编程的向量单元来处理未预见的算子。
四、设计的中心问题:数据流
加速器设计的核心不是"堆多少个乘法器",而是如何组织数据移动(承第十页)。
对一个卷积或矩阵乘,同一个数据可以在不同层级被复用。按"什么保持不动"分类:
- 权重驻留(weight stationary):权重固定在计算单元中,输入流过——适合权重复用率高的场景;
- 输出驻留(output stationary):部分和固定,输入与权重流过——减少部分和的读写;
- 行驻留(row stationary)等混合策略。
没有普适最优——最优数据流取决于层的形状(批大小、通道数、卷积核大小)与存储层次结构。所以加速器设计与编译器/映射器必须协同设计,这也是 MLSys 这个领域存在的原因(🔗 cs 站 mlsys 线)。
Roofline 模型是分析工具:把性能上限画成计算强度(每字节数据完成多少次运算)的函数——低计算强度的算子受带宽限制,高计算强度的受算力限制。优化的第一步永远是判断自己在屋顶线的哪一侧(🔗 cs 站 perf 线有完整推导)。
五、超越数字:几条更激进的路线【前沿/未定】
- 模拟计算与存内计算(第十六页):能效潜力大,精度与外围开销是障碍;
- 光计算:用光学元件做矩阵乘(干涉、衍射)。光的传播本身不耗能,但电光/光电转换、以及权重可编程性是瓶颈(第十八页);
- 神经形态计算:脉冲神经网络 + 事件驱动。在稀疏、事件式传感场景(如动态视觉传感器)有真实优势,但通用任务上的精度与工具链仍是短板【争】;
- 随机/近似计算:以精度换能效,用于容错应用。
共同的模式(值得记住):这些路线在特定窄场景中确有优势,但要取代主流数字加速器,必须同时打败它的能效、精度、工具链生态与制造成熟度——最后一项往往才是致命的。这与第五页新器件、第十六页存内计算的处境完全一致。
六、系统视角:加速器不是孤岛
一个常被忽略的现实:加速器的实际收益往往被系统因素吃掉。
- Amdahl 定律:加速了 90% 的工作量,整体加速比也不会超过 10 倍——未被加速的部分成为新瓶颈;
- 数据搬运与主机通信:从主机内存到加速器的传输可能主导端到端时间;
- 软件栈:编译器、算子库、框架支持。"性能达标但没人会用"是加速器项目最常见的死法——生态往往比硅片本身更难建立;
- 利用率:峰值算力(TOPS)与实际达成的算力常有巨大差距。"TOPS 数字"与第九页的"标称位数"、第四页的"节点名称"是同一类营销指标,看到就要追问实际利用率。
七、要点
- 专用化的收益可以逐项拆解:省指令开销、定制数据通路、降低数制位宽、定制存储层次;
- 灵活性与能效是一条权衡曲线,选择位置由出货量与算法稳定性决定;
- 设计的核心是数据流而非算力堆叠,Roofline 是判断瓶颈的第一工具;
- 激进路线(光、模拟、神经形态)常在窄场景有效,难在生态与制造成熟度;
- 端到端收益受 Amdahl、数据搬运与软件栈约束——峰值指标要打折看。
下一页:既然电互连的功耗越来越难以承受,能不能用光来传数据?硅光与射频——把光子和电磁波带进芯片。