设计目标的差异
CPU(中央处理器)追求的是低延迟:尽快完成单个复杂任务。
GPU(图形处理器)追求的是高吞吐:同时完成大量简单任务。
晶体管都花在哪
CPU 的芯片面积,大部分用于:
- 复杂的控制单元(分支预测、乱序执行、推测执行);
- 多级缓存(L1/L2/L3);
- 少量但非常强大的计算核心。
GPU 则相反:把绝大部分面积用于大量简单的计算核心,控制单元和缓存相对较少。
打个比方:CPU 像几个博士,能解决复杂问题,但人数少;GPU 像几千个小学生,每人只会做简单算术,但胜在人多。
为什么 AI 训练适合 GPU
神经网络训练的核心运算是矩阵乘法和卷积——这些运算的特点是:
- 计算过程简单(乘加);
- 数据量大;
- 各个元素之间的计算相互独立,高度并行。
这恰好是 GPU 擅长的:几千个核心可以同时处理矩阵中不同位置的元素。
CPU 虽然单核能力强,但核心数量有限(通常几个到几十个),面对矩阵运算这种"简单但海量"的任务,吞吐跟不上。
关键指标对比
| 维度 | CPU | GPU |
|---|---|---|
| 核心数 | 几个到几十个 | 数千个 |
| 单核复杂度 | 高 | 低 |
| 缓存 | 大 | 小 |
| 擅长 | 串行逻辑、分支密集 | 并行计算、数据密集 |
| 延迟 | 低 | 相对高(单次调用) |
| 吞吐 | 低 | 极高 |
为什么不是核心越多越好
AI 训练任务的并行性很好,但并非完美并行:
- 数据需要在核心之间传输;
- 某些计算步骤依赖前一步的结果(如矩阵乘法中的归约操作);
- 显存带宽可能成为瓶颈(前文提到的"内存墙")。
所以 GPU 设计的关键不只是堆核心,还包括:高带宽显存(HBM)、高效的片上互联、以及针对矩阵运算的专用单元。
专用加速单元
现代 AI 加速芯片普遍加入张量核心(Tensor Core)一类专用单元:它们不做通用计算,只高效地完成矩阵乘加这样的小块运算。
这种"为特定运算定制电路"的思路,本质是用灵活性换取效率——这也是当前算力竞争的一个重要方向。
说明:本文为计算机体系结构的公开知识整理。