AMDのMatrix CoreはIEEE 754に従わない――CDNA 1/2/3の数値挙動を完全モデル化
Accurate Models of AMD Matrix Cores
AMDのGPUに搭載されたMatrix Coreは、IEEE 754浮動小数点標準に準拠しておらず、ベンダーやアーキテクチャごとにアキュムレータ幅、丸め、正規化点、中間アンダーフロー/オーバーフロー、非正規数の扱いが異なる。そのため、デバイス間での小行列乗算結果の再現性はソフトウェアでは保証できない。本研究ではCDNA 1、CDNA 2、CDNA 3の3アーキテクチャを対象に、各入力形式の数値特性を狙ったテストベクトルを設計し、MATLABベースのモデルを構築。1000万組のランダム入力でビットレベル一致を検証した。さらに、AMDとNVIDIAのテンソルコア間のアプリケーション精度差を定量化する実例も示す。
最近のGPUで利用可能な行列乗算器は、IEEE 754浮動小数点標準に準拠していない。