Coelacanth's Dream

gfx950 は FP6/FP4 フォーマットをサポート、MI350X/CDNA 4 か

先日 AMD の Matt Arsenault 氏 によって公開された LLVM への gfx950 関連のプルリクエストを取り上げた。
その後、さらなるプルリクエストが公開され、gfx950 では FP6/FP4 フォーマットを入力に取る命令がサポートされることが明らかとなった。
先日の記事では gfx950Instinct MI325X 関連の GPU ID ではないかと推測したが、これにより Instinct MI350X の GPU ID だと考えられる。

FP6/FP4 {fp6_fp4}

gfx950 では V_MFMA_SCALE_F32_{16X16X128,32X32X64}_F8F6F4 命令と V_MFMA_F32_{16X16X128,32X32X64}_F8F6F4 命令をサポートする。
それらの命令では入力に FP8/FP6/FP4 フォーマットの行列を取り、FP32 フォーマットに出力する。

V_MFMA_SCALE_F32_{16X16X128,32X32X64}_F8F6F4 命令ではスケール係数を指定することができる。
FP8/FP6/FP4 フォーマットはダイナミックレンジが狭いため、オーバーフロー/アンダーフローを防ぎ、精度を維持するのにスケーリング処理が使われる。