AMD | 2020-11 | https://www.amd.com/content/dam/amd/en/documents/instinct-business-docs/white-papers/amd-cdna-white-paper.pdf Category: hardware | Tags: gpu-architecture, matrix-core, hpc, mi100, cdna Read: 2026-04-16
AMD首个专用计算GPU架构CDNA,引入Matrix Core Engine和MFMA指令族,将GPU从图形通用架构分化为计算专用架构。
AMD CDNA架构是AMD首次将GPU架构分化为计算专用(CDNA)和图形专用(RDNA)的产物。CDNA移除了所有图形固定功能单元(光栅化、曲面细分、图形缓存、混合、显示引擎),将释放的面积和功耗投入额外计算单元。
核心创新是Matrix Core Engine,引入MFMA (Matrix Fused Multiply-Add) 指令族,支持FP32/FP16/BF16/INT8四种输入数据类型的矩阵运算,所有MFMA输出均为FP32/INT32以避免累加溢出。MI100在7nm工艺下实现120个CU,首次突破10 TFLOPS FP64大关(11.5 TFLOPS),FP16矩阵性能比MI50提升7x达184.6 TFLOPS。
配备32GB HBM2(1.23TB/s)、8MB L2 Cache(32 slices, 3TB/s+聚合带宽)。3条Infinity Fabric链路(23GT/s)实现4-GPU全互联,较前代环形拓扑提升27-44%多GPU性能。ROCm 4.0提供完整Exascale软件栈。
| Computation | MI100 CU (FLOPS/CLK/CU) | MI50 CU | MI100 GPU (Peak TFLOPS) | MI50 GPU | Speedup |
|---|---|---|---|---|---|
| Matrix FP16 | 1,024 | 256* | 184.6 | 26.5 | 6.97x |
| Matrix BF16 | 512 | N/A | 92.3 | N/A | N/A |
| Matrix FP32 | 256 | 128 | 46.1 | 13.3 | 3.46x |
| Vector FP32 | 128 | 128 | 23.1 | 13.3 | 1.74x |
| Vector FP64 | 64 | 64 | 11.5 | 6.6 | 1.74x |
*MI50没有专用矩阵硬件
Takeaway: Matrix Core在FP16上实现7x提升,在FP32上3.5x,而向量性能仅1.7x(来自CU数量增加)

解读: AMD Instinct MI100加速器的完整芯片block diagram。展示了120个CU组织在8个Shader Engine中(每SE包含4个CU阵列共16 CU,但实际为15 CU×8=120)。中央是Infinity Fabric互联总线连接所有组件。底部4个Memory Controller驱动HBM2 stacks(32GB, 1.23TB/s)。上方标注了PCIe Gen4接口和3条xGMI(Infinity Fabric)链路用于GPU间互联。DMA引擎和4个ACE(Asynchronous Compute Engine)负责工作调度。这是AMD首个专用计算GPU架构——所有图形固定功能单元(光栅化、曲面细分等)已被移除,面积全部投入计算。
[图片缺失] 原 PDF 中的 CU 内部结构图未被正确提取(详见 skills/incidents/ (skills repo) 2026-04-19)。文字描述仍准确,待重新从 PDF 抓取。
解读: CDNA架构增强型CU的详细内部结构图。核心创新是新增的Matrix Core Engine(图中上方)。CU内部包含:4组SIMD向量单元(16-wide,执行FP32/FP64)、标量ALU+标量缓存(16KB)、128KB向量寄存器文件(VRF)、3.2KB标量寄存器文件(SRF)、32KB指令缓存。数据流方向从底部指令fetch→仲裁/解码→分派到SALU/VALU/Matrix/VMEM四条pipeline。Matrix Core Engine接收来自VRF的操作数,执行MFMA指令产生FP32/INT32输出回写VRF。每CU支持10个wavefront(每wavefront 64 work-items)。

解读: AMD Infinity Fabric 全互联拓扑(vs PCIe 4.0)在三类典型负载上的端到端性能提升:ResNeXt101 图像处理 +27%、BERT 语言模型 +44%、DLRM 推荐网络 +42%(均为 8 GPU 配置)。可见在通信密集型 ML workload 上,IF 带来 27%–44% 的非线性收益,验证了第 3 条 IF 链路(4-GPU 全互联)的设计回报。

解读: MI100的4-GPU全互联Infinity Fabric拓扑(右)vs MI50的环形拓扑(左)对比。MI100新增的第3条IF链路使4-GPU从环形(每GPU仅与相邻2个GPU直连)进化为全互联(每GPU与其余3个GPU均有直连)。全互联拓扑在AllReduce等集合通信中提供27-44%的性能提升(图中对比了ResNeXt101、BERT、DLRM三个benchmark)。
新增: Matrix Core Engine, MFMA指令族, BF16支持, 第3条IF链路
移除: 所有图形固定功能(光栅化、曲面细分、图形缓存、混合、显示引擎)
增强: CU数量120(vs 60),内存带宽1.23TB/s(vs 1.0TB/s),L2扩大至8MB
\[ f_{\text{boost}} = 1.502\ \text{GHz} \]
\[ \text{FP16 Matrix} = 1024 \frac{\text{FLOPS}}{\text{clk} \cdot \text{CU}} \times 120\ \text{CU} \times 1.502\ \text{GHz} = 184.6\ \text{TFLOPS} \]
\[ \text{FP32 Matrix} = 256 \frac{\text{FLOPS}}{\text{clk} \cdot \text{CU}} \times 120\ \text{CU} \times 1.502\ \text{GHz} = 46.1\ \text{TFLOPS} \]
\[ \text{FP32 Vector} = 128 \frac{\text{FLOPS}}{\text{clk} \cdot \text{CU}} \times 120\ \text{CU} \times 1.502\ \text{GHz} = 23.1\ \text{TFLOPS} \]
\( 128 = 64 \times 2 \) (FMA: fused multiply-add)
\[ \text{FP64 Vector} = 64 \frac{\text{FLOPS}}{\text{clk} \cdot \text{CU}} \times 120\ \text{CU} \times 1.502\ \text{GHz} = 11.5\ \text{TFLOPS} \]
\[ \text{BW}_{\text{HBM}} = 1.2\ \text{GHz} \times \frac{4096\ \text{bits}}{8} \times 2 = 1.23\ \text{TB/s} \]
\[ C_{\text{LDS}} = 32 \times 512 \times \frac{32}{8} = 65{,}536\ \text{B} = 64\ \text{KB/CU} \]
32个bank每bank读/写32-bit → 每cycle最多 \( 32 \times 4\ \text{B} = 128\ \text{B} \) throughput。Bank conflict会降低实际带宽。
4个ACE (Asynchronous Compute Engine),每ACE维护1个command stream → 最多4个concurrent stream。这限制了multi-stream overlap的程度。
| Data Type | FLOPS/CLK/CU | Peak TFLOPS |
|---|---|---|
| Vector FP64 | 64 | 11.5 |
| Vector FP32 | 128 | 23.1 |
| Matrix FP32 | 256 | 46.1 |
| Matrix BF16 | 512 | 92.3 |
| Matrix FP16 | 1,024 | 184.6 |