AMDが宣言した通りだ
AVX-512命令は、複数のワークロードで性能を大幅に向上させることができますが、これらの命令がCPUに実装される方法は、周波数の大幅な低下と消費電力の増加を引き起こしました。
しかし、AVX-512がAMDのZen 5ベースのRyzen 9000シリーズ・プロセッサーにどのように実装されているかは、InstLatX64でテストしたところ、クロック速度の大幅な低下や消費電力の大幅な増加を引き起こしていない。
結局のところ、AMDのRyzen 9 9950Xは、AVX-512を大量に使用した場合、周波数を10%低下させる。
クロック速度は5700MHzから5300MHzに低下するが、これは実質的なものではなく、AMDが7月にTom’s Hardwareのインタビューで語ったことと一致している。
これとは対照的に、AVX-512をサポートするインテル・プロセッサー(同社は様々な理由でAlder LakeとRaptor LakeのCPUからAVX-512を無効化したことで知られている)は通常、AVX-512命令を実行するとクロックが劇的に低下する。
インテルのAVX-512対応CPUがかなり時代遅れのプロセス技術で作られているため、ある程度はこのようなことが起こる。
一方、広いデータ・パスはそれ自体が電力を消費するため、AMD Ryzen 9000シリーズ・プロセッサー(TSMCのN4P、4nmクラスのプロセス技術で作られている)がAVX-512命令実行時にどれだけの電力を消費するかは未知数だ。
AMDのZen 5ベースのデスクトップ・プロセッサーは、AVX-512用の全幅512ビット実行ユニットを4基搭載しており、このような命令の実行は非常に効率的である(一部のパーツでは、512ビット命令を実行するためにダブル・ポンプAVX-256ユニットを使用しているため)が、ダイ・サイズを犠牲にしている。
高性能なデスクトップ、ワークステーション、サーバーは、AIやHPCの領域からさまざまなベクトル・ワークロードに使用されることが多いため、デスクトップやサーバー向けにZen 5の実装を設計したAMDにとって、AVX-512を正しく実装することは極めて重要だった。
しかし、コードネーム「Strix Point」プロセッサなどのAMDのモバイルパーツは、AVX-256をダブルポンプしてAVX-512命令を実行している。
このようなアプローチは、おそらくソフトウェア開発者やある程度エンドユーザーを混乱させるだろうが、AMDは本格的な512ビットデータパスの実装を避けることで、コアをわずかにコンパクトにしていることに注目すべきである。
これにより、より多くのコアをプロセッサーに詰め込むことができ、より多くのコアはAVX-512単独よりも多くのユーザーにより高い性能をもたらす。
解説:
Ryzen 9000シリーズはAVX-512命令を実行すると10%クロックが落ちる
AMDは前々からこのように宣言していたらしいです。
Intelの場合、AVX-512命令を実行するとかなり発熱するため、一般消費者向けの製品ではAVX-512が無効にされています。
AlderLakeでは有効にできてしまっていましたが、今は完全に無効にされていますが、実行できる回路は搭載されています。
あくまで無効にされているだけです。
AVX-512命令を実行すると発熱する問題は前から指摘されていました。
Intelではやはり一般消費者向けには向かないくらい発熱するようですが、AMDはクロックを落として対応するようです。
モバイルではこの限りではないようですが、サーバー向けと同じコアを使うAMD製品にとっては極めて重要な要素なのでしょうね。
そしてサーバー・ワークステーション製品に搭載するならば、一般向け製品でもわざわざ無効にしたりはしないということのようです。
ゲームにおいて意識して使われるようなものではないと思いますが、AVX-512命令を実行したさい、きちんとクロックが落ちるのはなかなか心強い話です。