内存带宽才是瓶颈:AI 芯片的 Roofline 账本

买 GPU 的时候,大多数人盯着的是 FLOPS。A100 312 TFLOPS,H100 989 TFLOPS,H200 更高。这个数字直观,好对比,销售材料里也总是把它放在最显眼的位置。

但如果你真的跑过 LLM 推理,会发现一件让人困惑的事:你的实际算力利用率(MFU)往往只有 30%~50%,有时更低。剩下的一半算力去哪了?

答案通常不是”代码写得烂”,而是内存带宽先到顶了


Roofline 模型:两个上限,哪个先碰到

Roofline 是一个用来分析程序性能上限的模型。它把任何计算任务的性能天花板描述为两个约束中的较小值:

  • 计算上限:芯片的峰值 FLOPS
  • 内存带宽上限:内存带宽 × 算术强度(每字节内存传输对应的浮点运算次数)

算术强度(Arithmetic Intensity)是关键。它描述一个算子的计算密集程度:每从内存读取一个字节,要做多少次浮点运算

矩阵乘法(GEMM)是高算术强度的典型——你加载一批权重后,可以对很多输入向量反复计算,内存访问被充分”摊薄”。这类算子在大批量时能跑满算力。

但 Transformer 的 Decode 阶段不一样。每生成一个 token,模型需要把所有层的权重从显存里读一遍,但对每个请求只做极少量的矩阵运算。批次大小为 1 时,算术强度极低——你大部分时间在等数据从显存搬进来,计算单元在空转。

这就是 memory-bound 的典型场景。此时提升 FLOPS 没有意义,唯一有效的优化是提升内存带宽。


HBM 是怎么来的

传统的 GDDR 显存(游戏卡用的那种)带宽有上限,物理结构决定了总线宽度难以进一步扩展。

HBM(High Bandwidth Memory)的解法是换一个思路:把 DRAM 芯片垂直堆叠,用 3D 封装的方式和 GPU die 放在同一个 package 里,通过硅通孔(TSV)和宽位总线直连

这消除了传统”芯片—板卡—芯片”的长距离信号路径,换来了更宽的数据总线——HBM 的接口位宽是 1024 位,而 GDDR6 的通道位宽通常是 32 位。宽总线 × 高频 = 高带宽。

H100 SXM 搭载的 HBM3 带宽是 3.35 TB/s。做个对比:一块 RTX 4090 的 GDDR6X 带宽是 1008 GB/s,差了三倍多。对于 LLM 推理这类 memory-bound 工作负载,这三倍带宽的差距比 FLOPS 的差距更能解释实际性能。


HBM 的演化逻辑

HBM 每一代的核心矛盾都是:带宽需求的增长速度比制程工艺进步更快,必须用架构创新来补。

HBM2e(A100 使用):2 TB/s 量级,在 AI 训练普及的窗口期成为事实标准。

HBM3(H100 使用):带宽提升约 1.7 倍。关键变化是引入了 pseudo-channel 架构,每个 channel 拆分为两个独立访问的子通道,提升并发访问效率。

HBM3e(H200、MI300X 使用):在 HBM3 基础上提升频率和堆叠密度,B200 对应的 HBM3e 单包带宽到了 4.8 TB/s 的量级。同时容量大幅提升——HBM3e 的单 stack 容量最高达到 36GB,这让 H200 的总显存容量跳到了 141 GB,直接影响能装载的模型参数量。

HBM4:2025 年下半年开始进入量产视野。架构上最大的变化是从二维堆叠向更高层数的混合封装演进,同时引入了直接与 logic die 通过 hybrid bonding 连接的方案,进一步压缩互联延迟。带宽目标在 6 TB/s 以上。

每一代 HBM 的代价是成本。HBM 的每 GB 价格比 GDDR 贵一个数量级,这是 AI 服务器比消费级 GPU 贵的重要原因之一。


Chiplet 和封装创新:另一个维度的应对

受限于单个 GPU die 的物理尺寸,一颗 GPU 能搭配的 HBM stack 数量有上限(H100 是 5 个 stack,80GB 总容量)。

AMD MI300X 采用了不同的路线:通过 Chiplet 架构把多个 GPU die 和多个 HBM stack 封装在同一个 MCM(Multi-Chip Module)里。MI300X 有 8 个 GCD(GPU Compute Die)和 8 个 HBM3 stack,总显存 192GB,带宽 5.3 TB/s。

这个设计的核心思想是:用封装工程解决单 die 的面积约束,同时让内存和计算 die 的比例可以更灵活地调整。

这个方向在 2025-2026 年成为高端 AI 芯片的主流路线。英伟达在 B100 系列开始用 NVLink-C2C 互联两个 GPU die,本质上也是类似的思路——单 die 的物理极限已经到了,必须往 multi-die 方向走。

封装成为了芯片竞争力的新战场。这是一个过去属于 TSMC/三星封装部门的细分领域,现在越来越多地出现在芯片公司的顶层战略里。


对工作负载设计的实际意义

理解内存带宽是瓶颈,会改变你对几个工程问题的判断:

批次大小的选择。在推理场景,小批次的算术强度低,大批次的算术强度高。加大批次可以从 memory-bound 区域向 compute-bound 区域移动,更充分地利用 FLOPS。但批次大会增加延迟。这是一个 throughput vs latency 的权衡,不存在通用最优解,取决于你的 SLA 要求。

量化的意义。INT8、INT4 量化不只是减少参数存储空间,更重要的是降低了每次推理需要从显存搬运的数据量。对 memory-bound 工作负载,减少内存搬运量的效果比减少计算量更直接。这解释了为什么激进量化有时能带来接近线性的速度提升。

KV Cache 的压力。Attention 机制的 KV Cache 随序列长度线性增长,且每个 decode step 都要读一遍。长上下文推理是对内存带宽的持续消耗。这是 HBM 容量(装得下多少 KV Cache)和带宽(多快能读出来)同时重要的场景。

Prefill 和 Decode 的拆分。Prefill 是计算密集的(可以并行处理整个 prompt),Decode 是带宽密集的(逐 token 生成)。把两个阶段拆分到不同硬件上处理(Disaggregated Prefill/Decode),是近两年推理系统架构的一个重要方向,本质上是为了让每种硬件都工作在自己更擅长的区域。


结尾

芯片的性能分析,很少能简化成一个数字。FLOPS 是上限之一,但不是唯一的上限,也常常不是真正的约束所在。

Roofline 模型的价值,在于它逼着你问一个更准确的问题:我的工作负载的算术强度是多少,我现在卡在哪个天花板上?

这个问题的答案,决定了你该买什么硬件、该优化哪一层、该在架构上做什么取舍。在硬件越来越贵的现在,把这笔账算清楚,是工程决策的起点。


内存带宽才是瓶颈:AI 芯片的 Roofline 账本
https://www.krli.org/2026/04/29/内存带宽才是瓶颈-AI芯片的Roofline账本/
作者
李科燃
发布于
2026年4月29日
许可协议