揭秘 AMD Matrix Cores 的数值行为模型
Accurate Models of AMD Matrix Cores
现代 GPU 上的矩阵乘法器并不遵循 IEEE 754 浮点标准,导致不同设备间的计算结果无法复现。由于厂商未公开实现细节,解读这些差异变得异常困难。本研究深入剖析了 AMD 的 CDNA 1、CDNA 2 和 CDNA 3 架构,利用 MI100、MI210/250 及 MI300A/300X 等 GPU 进行特性表征。团队设计了针对性测试向量,并基于 MATLAB 构建了各架构的矩阵乘法器软件模型。通过 1000 万次随机测试向量的迭代验证,这些模型实现了与硬件的位级复现。最终,研究利用这些模型量化了 AMD Matrix Cores 与 NVIDIA Tensor Cores 在应用层面的精度差异,为数值计算研究提供了关键工具。
由于矩阵乘法器的实现细节未公开,解释计算结果中的差异变得十分困难。
- peter_d_sherman
>“矩阵乘法器的特性因厂商而异,同一厂商的不同架构之间也各不相同 [...] 因此,小矩阵乘法器在不同设备上的结果(差异)无法复现,也无法通过软件控制来实现。矩阵乘法器的实现细节并未文档化,这使得解释计算结果的差异变得困难。”
我猜测(但并非确知),不同厂商架构之间(以及同一厂商架构的不同产品代际之间)矩阵乘法存在的细微差异,是导致在尝试于未经明确测试的架构或不同软件栈(例如 ROCm 与 CUDA)上运行本地 LLM 时出现大量软件崩溃的主要原因。
因此,这标志着未来一个相当严重的问题,可以概括为:
需要制定一个标准的矩阵乘法规范(就像 IEEE-754 之于浮点运算那样),所有未来的 AI 加速器厂商(任何实现矩阵乘法电路的 GPU、CPU、NPU 或 IC 制造商)都必须遵守,以确保一家厂商的矩阵乘法与另一家厂商的矩阵乘法完全且精确兼容。
当然,硬件厂商在速度、能效、给定硅片上的矩阵乘法引擎数量、并行化优化等方面可以自由竞争,但基础的矩阵乘法运算在不同厂商之间应当做到完全且精确兼容,并 […]
- erichocean
如果你是这篇文章的作者,请跟进补充关于 Apple Silicon 中的 SME2 核心以及 Intel 服务器处理器中的 AMX 核心的相关内容。