有传言:当年 vega 是 64 核 mi 系列最大的改动是从 64 改成 128 核架构。改的昏天昏地,mi 100 还出了 2 和大bug。
其中,这里的**"核"**指的是 AMD GPU 架构中的 Compute Unit(CU,计算单元)。它是 AMD GPU 的基本调度与执行块,相当于 NVIDIA 的 SM(Streaming Multiprocessor)。但 CU 内部还有更细的层次,需要一并厘清,才能理解"64核"到"128核"到底改动了什么。
一、"核"在 AMD GPU 中的层级
AMD GPU 的执行层级从大到小大致是:
| 层级 | 名称 | 说明 |
|---|---|---|
| 顶层 | Compute Unit (CU) | 用户口中的"核"。Vega 64 就是 64 个 CU。 |
| CU 内部 | 4 × SIMD 单元 | 每个 SIMD 是 16-lane 的向量 ALU(VALU)。 |
| SIMD 内部 | Wavefront / Lane | 一个 Wavefront(波前)= 64 个线程;每个 SIMD 每周期处理 16 个 lane,一条 wave64 指令需要 4 个周期才能在一个 SIMD 上执行完。 |
因此,Vega 64 的"64核" = 64 个 CU ,每个 CU 内含 4 个 SIMD-16,共计 4096 个 Stream Processor(64 CU × 64 SP)。
二、从 Vega 64 到 MI 系列:架构分叉与"128核"
2020 年前后,AMD 将 GPU 架构彻底一分为二:
- RDNA(Radeon DNA):面向游戏/图形,继承自 GCN/Vega,后续发展为 RX 6000/7000 系列。
- CDNA(Compute DNA):面向 HPC/AI/数据中心,即 Instinct MI 系列。
这次分叉被形容为"改的昏天暗地",因为 AMD 把原本兼顾图形与计算的 GCN/Vega 架构彻底拆开,图形管线被大量裁剪,CU 内部结构也向纯计算大幅倾斜。
MI100(CDNA 1):120 CU
MI100 是第一款 CDNA 产品,120 个 CU,7680 个 Stream Processor。
它已不再是"带计算能力的显卡",而是纯计算加速器------砍掉了大量图形专用单元(ROP、TMU 等比例大幅缩减),引入了 Matrix Core(矩阵核心)和针对 FP64/BF16 的优化。
CDNA 2(MI200 系列):128 CU per Die
你提到的"128核"更准确地对应 CDNA 2(MI200 系列) 的 Aldebaran 核心 。它采用 MCM(多芯片封装) ,每颗 Die 集成 128 个 CU ,两颗 Die 通过 Infinity Fabric 互联,总共 256 CU。
所以"从 64 改成 128 核架构"的脉络是:
| 产品 | 架构 | CU 数量 | 定位 |
|---|---|---|---|
| Vega 64 | GCN 5th Gen | 64 CU | 游戏/通用计算混合 |
| MI100 | CDNA 1 | 120 CU | 纯计算(第一代) |
| MI250X | CDNA 2 | 128 CU × 2 Die = 256 CU | 纯计算(MCM 多芯片) |
从 Vega 到 MI 系列,CU 数量翻倍不止,但更重要的是 CU 内部结构也发生了根本变化:
- Wavefront:GCN/Vega 固定 wave64(64 线程宽);CDNA 保持 wave64,但针对矩阵运算增加了 MFMA 指令。
- 寄存器与矩阵单元:CDNA 引入了 AGPR(Accumulation GPR)和专用 Matrix Core,这是 Vega 完全没有的。
- 显存:从 Vega 的 HBM2(484 GB/s)跃升到 MI100 的 HBM2(1.2 TB/s),再到 MI200 的 HBM2e。
三、MI100 "还出了两个大 bug"
MI100 作为 AMD 首款纯计算加速器 + ROCm 生态早期产品,确实暴露了不少硬件与固件层面的缺陷,社区和数据中心用户反馈主要集中在以下两类:
1. 电源管理缺陷(固件/驱动级)
MI100(以及 MI210)不支持有效的运行时电源管理 。amdgpu.runpm 功能在尝试将卡挂起到 D3cold 状态后,恢复时会直接挂死,报错 SMC engine is not correctly up!。结果是空闲时显存也无法降速,持续耗电约 50W,成为"电暖气"。AMD 将此标记为已知缺陷,长期未修复。
2. 初始化/兼容性 bug(硬件级)
MI100 在部分消费级/服务器主板上存在初始化失败问题,表现为:
amdgpu: probe failed with error -12- 在 AM4 平台(如 B550 + Ryzen 3900X)上即使开启 Above 4G Decoding、关闭 CSM 也无法正常初始化。
- 部分用户反馈 lspci 都识别不到设备,需要反复刷 BIOS 或更换平台才能解决。
此外,早期 ROCm 对 MI100 的支持也相当粗糙,PyTorch/TensorFlow 适配延迟长,hipGraph 等 API 在 MI100 上存在确定性 bug (如 hipGraphAddMemcpyNode1D 依赖不生效)。
总结
- "核" = Compute Unit (CU),AMD GPU 的基本计算块。
- Vega 64 = 64 CU,GCN 架构最后的游戏旗舰。
- MI 系列 转向 CDNA 纯计算架构,MI100 120 CU、MI200 128 CU/Die(MCM 双 Die),CU 数量与内部结构都发生了质变。
- MI100 的"大 bug" 主要指电源管理失效 和平台初始化兼容性差,加上早期 ROCm 软件生态不成熟,导致这款"首发 CDNA"产品在数据中心部署时踩坑颇多。