ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

AMD Instinct MI250 微架构深度解析:CDNA 2 双 GCD 设计与 ROCm 生态实践

AMD Instinct MI250 微架构深度解析:CDNA 2 双 GCD 设计与 ROCm 生态实践 AMD Instinct MI250 微架构深度解析CDNA 2 双 GCD 设计与 ROCm 生态实践【免费下载链接】legacy-rocm-buildAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build本篇文章基于 ROCm 开源仓库中的官方微架构文档系统讲解 AMD Instinct MI250 所采用的 CDNA 2 架构从单个 Graphics Compute DieGCD的内部构成、计算单元与矩阵核心到双 GCD 的 OAM 封装、节点级互联拓扑并延伸至 ROCm 生态中与之对应的 LLVM targetgfx90a、性能计数器与 CU 掩码配置等实战细节。读完本文你将理解 MI250 的硬件规模如何换算为峰值算力并掌握在 ROCm 环境下识别、配置与剖析该平台的关键依据。CDNA 2 架构总览面向 HPC 与 AI 的计算微架构AMD Instinct MI250 GPU 的微架构基于AMD CDNA 2 架构。CDNA 2 专门面向计算类应用设计——包括高性能计算HPC、人工智能AI与机器学习ML覆盖从单台服务器到全球最大规模百亿亿次级exascale超级计算机的部署场景。整个系统架构围绕极致可扩展性与计算性能展开其核心设计单位不再是传统意义上的整颗 GPU而是被称为 GCD 的计算裸片。在 ROCm 兼容性矩阵docs/compatibility/include/system-instinct.rst中MI250、MI250X 与 MI210 同属CDNA 2架构LLVM 编译目标统一为gfx90a而在 GPU 规格表 中MI250 与 MI250X 的差异主要体现在启用的计算单元数量上详见下文。这一一架构多型号的布局使 gfx90a 成为 MI200 系列在 ROCm 工具链中的统一代号。单个 GCD 的内部结构下图展示了 CDNA 2 架构中单个 GCD的构成。每个 GCD 是系统中的一个独立 GPU 设备其内部组织可以概括为三个层次顶/底部的 AMD Infinity Fabric 接口、左右两侧的 HBM 内存控制器以及中央的计算单元阵列。AMD Instinct MI250 单个 GCD 结构图Infinity Fabric 接口与片上互联在 GCD 的顶部与底部各有一个 AMD Infinity Fabric 控制器用于将 GPU 裸片连接到节点内的其他系统级组件详见节点级架构一节。两个控制器各自可以驱动4 条 AMD Infinity Fabric 链路其中底部控制器有一条链路可配置为 PCIe 链路。GPU 之间的每一条 Infinity Fabric 链路最高可运行在25 GT/sec对应 16 位宽链路的峰值传输带宽为50 GB/sec每个事务传输两个字节。这一互联能力是后续双 GCD 封装与多卡 P2P 通信的物理基础。HBM2e 内存控制器与带宽在 GCD 的左右两侧内存控制器将HBM2e 高带宽内存模块挂接到 GCD 上。MI250 采用 HBM2e 显存每个 GCD 的峰值内存带宽高达 1.6 TB/sec两个 GCD 聚合后理论峰值带宽为3.2 TB/sec。对于 HPC 与 AI 负载而言如此高的内存带宽是保证矩阵运算与大规模数据搬运不喂不饱计算单元的关键。计算单元CU与 SIMD 执行引擎GCD 的中央区域由计算单元Compute UnitCU阵列构成MI250 每个 GCD 拥有 104 个激活的计算单元GPU 规格表中对应 208 CUs / 104 per GCDMI250X 则启用 110 个/GCD共 220 个见 gpu-specs.rst每个 CU 进一步划分为4 个 SIMD 单元每条 SIMD 指令可处理16 个数据元素以 FP64 数据类型计这使得单个 CU 每个时钟周期能够处理64 个工作项——即一个完整的wavefront波前峰值时钟频率1.7 GHz。由此可推导出单 GCD 的向量指令 FP64 理论峰值104 CUs × 128 FLOPs/clock/CU × 1.7 GHz ≈22.6 TFLOPS两个 GCD 合计45.3 TFLOPS。矩阵核心Matrix CoresCDNA 2 的 CU 内还包含专门面向矩阵运算如矩阵-矩阵乘法的专用执行单元即矩阵核心Matrix CoresMFMA 单元。与向量指令相比矩阵核心在同等时钟下可处理更多数据元素FP64 矩阵指令的峰值性能达到90.5 TFLOPS双 GCD 聚合。在 HIP 编程模型中这些单元通过 MFMAMatrix Fused Multiply-Add指令驱动是 AI 推理与训练负载的主要算力来源可参考 设备硬件术语表 中对 Matrix cores 与 AccVGPR 的定义。各数据类型峰值性能一览下表汇总了 AMD Instinct MI250 OAMOCP 开放加速器模块两个 GCD 在不同数据类型与执行单元下的聚合峰值性能。中间列表示单个计算单元在每时钟周期退役一条 SIMD或矩阵指令时处理的数据元素个数第三列为整个 OAM 模块的理论峰值 TFLOPS。计算类型 / 数据类型FLOPS/CLOCK/CU峰值 TFLOPSMatrix FP6425690.5Vector FP6412845.3Matrix FP3225690.5Packed FP3225690.5Vector FP3212845.3Matrix FP161024362.1Matrix BF161024362.1Matrix INT81024362.1值得注意的两点矩阵与向量的差距同一数据类型下矩阵指令的峰值是向量指令的 28 倍FP64 为 2 倍FP16/BF16/INT8 为 8 倍这正是 MFMA 单元的价值所在FP16/BF16/INT8 的突出地位1024 FLOPS/clock/CU 的吞吐使 MI250 在 AI 工作负载训练与推理中具备超过 360 TFLOPS 的理论算力符合 CDNA 2面向 AI/ML 强化的设计定位——这一点在后续 MI300 系列文档 中也有印证CDNA 3 的矩阵核心在 FP16/BF16 上较 MI250X 再提升约 3 倍且新增 FP8 支持。此外OAM 整体聚合的理论峰值内存带宽为3.2 TB/sec每 GCD 1.6 TB/sec与上表中的算力数据共同构成评估 MI250 平台算力密度的基础。双 GCD 封装一个 OAM 里的两个 GPU 设备下图展示了 MI250 OAM 封装的模块框图。一个 OAM 封装内包含两个 GCD而每一个 GCD 都构成系统中的一个独立 GPU 设备——这是 MI250 在软件层面最容易被误解的一点一块物理卡上其实存在两个可独立寻址与调度的 GPU。AMD Instinct MI250 双 GCD 架构图封装内的两个 GCD 通过4 条 AMD Infinity Fabric 链路相连每条链路理论峰值速率 25 GT/sec因此两个 GCD 之间的峰值传输带宽为200 GB/sec双向合计400 GB/sec。这一极高的片内互联带宽保证了跨 GCD 数据交换例如经由 ROCm/HIP 的 peer-to-peer 访问的开销被控制在极低水平是双 GCD 架构能够被当作准单卡使用的关键。从软件角度每个 GCD 拥有独立的 HBM2e 栈、L2 缓存与命令处理器ROCm 驱动会将其枚举为独立的设备跨 GCD 的协同依赖 XGMI/Infinity Fabric 的 P2P 能力见下节。节点级架构PCIe 与 XGMI 的互联拓扑下图展示了基于 AMD Instinct MI250 的典型节点级架构双路 3rd Generation AMD EPYC 处理器 4 块 MI250 GPU。AMD Instinct MI250 与第三代 AMD EPYC 处理器的节点级框图主机连接PCIe Gen 4 x16MI250 OAM 通过PCIe Gen 4 x16链路图中黄色连线挂接到主机系统。关键细节包括每个 GCD 拥有独立的 PCIe x16 链路通向主机视服务器平台而定GCD 可直接连接到 AMD EPYC 处理器或通过可选的 PCIe Switch间接连接——后者可以释放更多 PCIe 通道供网络接口卡与存储设备使用需要特别留意部分平台可能只提供 x8 接口给 GCD这会显著降低可用的主机到 GPU 带宽选型与性能评估时应予以确认。GPU 间互联Infinity Fabric P2P 网络在 OAM 及其 GCD 之间一个对等Peer-to-PeerP2P网络允许 GPU 裸片之间通过 AMD Infinity Fabric 链路图中黑色、绿色与红色连线直接交换数据无需经过主机内存。这些 16 位宽链路各自连接到 MI250 OAM 中的某一个 GPU 裸片以 25 GT/sec 运行对应每条链路 50 GB/sec 的理论峰值传输速率双向 100 GB/sec。特别地GCD 对 2 与 6、GCD 0 与 4之间通过两条 XGMI 链路连接图中加粗红色连线表示可获得更高的双向带宽用于承载通信量较大的负载。与 CDNA 3 的定位对比作为参考CDNA 3MI300 系列改用了更先进的封装以 XCD 为构建块一颗 MI300X 最多集成 8 个 XCD、共 304 个 CU相比 MI250X 的 220 个 CU 提升约 40%并引入 HBM3 与 Infinity Cache见 MI300 系列微架构文档。理解 MI250 的 GCD 架构有助于横向对比两代设计在裸片规模 vs 算力密度上的取舍。ROCm 生态中的 MI250编译目标、性能计数器与配置MI250 的微架构知识在 ROCm 使用中直接对应三类可操作的层面。LLVM 编译目标gfx90aMI200 系列MI250/MI250X/MI210在 ROCm 兼容性矩阵中的 LLVM target 为gfx90a见 system-instinct.rst。在 仓库的构建工具 中默认 GPU 架构列表也包含gfx90a:xnack-与gfx90a:xnack两种变体xnack 对应可重放原子操作的硬件支持编译 ROCm 组件时可通过ENABLE_GPU_ARCH环境变量覆盖该列表。这意味着针对 MI250 的 HIP 内核编译通常应指定--offload-archgfx90a或其带 xnack 后缀的精确变体才能获得正确的指令集与驱动支持。性能计数器与剖析MI250 属于 MI300 与 MI200 系列性能计数器文档 所覆盖的硬件范围。该文档列出了可用的硬件计数器类别命令处理器计数器command processor图形寄存器总线管理器计数器GRBM着色器处理器输入计数器SPI计算单元计数器指令混合、矩阵 FMA 操作、层级、波前、LDS 等L1 指令缓存L1i与标量 L1 数据缓存L1d计数器向量 L1 缓存子系统计数器纹理寻址单元、纹理数据单元、每管道纹理缓存、纹理缓存仲裁器L2 缓存访问计数器利用这些计数器可以计算向量内存延迟、LDS 延迟、L2 命中率、VALUBusy、MemUnitBusy等派生指标从而定位内核的访存瓶颈或 ALU 利用率问题。MI200 系列专属计数器如TCP_TCP_LATENCY、TCP_TCC_*_REQ_LATENCY还能直接测量 vL1D 与 L2 的请求延迟。在 ROCm 中可通过 ROCprofiler-SDK 访问这些计数器详见该文档。限制计算单元数量CU Mask 配置由于 MI250 GCD 存在未激活的 CU104 个激活 / 设计更多且 ROCm 允许在运行时按需启用或禁用指定 CU以隔离负载、复现问题或适配特殊工作负载。相关机制记录在 设置计算单元数量的文档 中ROC_GLOBAL_CU_MASK在 HIP 或 OpenCL 运行时创建的队列上设置 CU 掩码HSA_CU_MASK在驱动层更底层的队列创建时设置掩码同时作用于被剖析的队列。其语法示例为GPU_list:CU_list例如0,2-4,7:0-15,32-47或0,2-4,7:0x337F多个 GPU 设置用分号分隔。注意 GPU 索引是在ROCR_VISIBLE_DEVICES重排之后取值且这些变量仅影响 ROCm 软件不影响图形应用。系统级优化入口针对 MI250 的平台级调优NUMA、PCIe 拓扑、P2P 配置等可参考 AMD GPU 系统优化指南 中列出的 MI250/MI250X 条目更多 CDNA 架构背景可回溯 GPU 架构文档索引 中的 CDNA 2MI200 系列章节该索引同时汇总了 ISA 参考与性能计数器文档的入口。总结AMD Instinct MI250 的 CDNA 2 微架构可以概括为以 GCD 为基本单位的双裸片计算封装单 GCD104 个激活 CUMI250X 为 110 个每 CU 4 个 SIMD 矩阵核心HBM2e 提供 1.6 TB/s 带宽FP64 向量峰值 22.6 TFLOPS双 GCD OAM通过 4 条 25 GT/s Infinity Fabric 链路互联200 GB/s 单向 / 400 GB/s 双向整卡聚合 FP64 向量 45.3 TFLOPS、矩阵 90.5 TFLOPS、FP16/BF16/INT8 矩阵 362.1 TFLOPS聚合内存带宽 3.2 TB/s节点互联每 GCD 独立 PCIe Gen 4 x16 上连主机GCD 间通过 XGMI/Infinity Fabric 构建 P2P 网络GCD 对 2/6 与 0/4 使用双 XGMI 链路增强带宽。在 ROCm 生态中MI250 对应统一的 gfx90a 编译目标其硬件计数器、CU 掩码机制与系统优化指南均已沉淀在本文引用的仓库文档中可作为内核调优、平台选型与算力评估的权威依据。【免费下载链接】legacy-rocm-buildAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表