SteamDeck CPU の浮動小数点演算能力を調べる vfpbench の結果

SteamDeck で vfpbench を走らせてみました。
SteamDeck はポータブルゲーム専用機で、PC 向けのゲームを走らせることができます。

CPU/GPU は Ryzen + RADEON という一般的な PC と同じものですが、Zen2 Core に RDNA2 という組み合わせの APU は PC 向けとして市販されていません。Zen2 + RDNA2 の組み合わせは PS5 / XboxSX|SS / SteamDeck のみ使われており、ゲーム機専用のカスタムだと思われます。

ただしゲーム機向けと言っても SteamDeck の場合はバッテリー駆動のポータブル機なので、消費電力重視のバランス取りが行われています。Zen2 世代の APU と比べると GPU やメモリは強化されていますが、RDNA2 世代として見た場合は決して突出した性能ではなくなっています。

今回の計測は LCD の旧型 SteamDeck で、かつ SteamOS (Linux) ではなく Windows 11 での値となっています。SteamOS (Linux) 上ではまた違った結果になる可能性があります。

SingleThread SP max:  107.328 GFLOPS
SingleThread DP max:   51.903 GFLOPS
MultiThread  SP max:  448.238 GFLOPS
MultiThread  DP max:  203.651 GFLOPS

結果を見る限り、専用のカスタム CPU と言っても通常の Zen2 とほぼ同等だと思われます。浮動小数点演算の実行パイプライン本数が減らされていることもなく、256bit で fma x2 命令が同時に走っていることがわかります。

AVX vmul+addps (32bit x8) n8      :    0.380   283223.9     4425.4  ( 64.0 1.6)
FMA vfmaddps (32bit x8) n8        :    0.534   402439.6     3144.1  (128.0 1.1)
FMA vfmaddps (32bit x8) n12       :    0.803   401825.8     3139.3  (128.0 1.1)
FMA vfma+mlps (32bit x8) n12      :    0.795   304483.4     3171.7  ( 96.0 1.1)
FMA vfma+adps (32bit x8) n12      :    0.540   448238.2     4669.1  ( 96.0 1.7)
AVX vml+ad+adps (32bit x8) n9     :    0.410   295300.2     4614.1  ( 64.0 1.6)

vfpbench 結果のベースクロックは 2.8GHz 計算になっていますが、fma の IPC が 1.1 なので 8 Thread 実行時におよそ 3.1GHz 前後で動作していたと考えられます。本来 IPC は 2 ですが、SMT (Hyper Threading) なのでマルチスレッド実行時は半分の計算です。

関連エントリ