Alder Lakeこと第12世代Coreプロセッサの性能評価は11月頭にお届けしたが、この時は時間の関係&ベンチマークの関係でいくつか落としたテストがある。今回はこれを補う意味で、もう少しAlder Lakeの内部構造の確認を行ってみたいと思う。
ちなみに今回紹介するテストの環境は「原則として」前回紹介した構成そのままである。変更があったものだけ、その都度ご紹介したい。
◆CineBench R23(グラフ1)
CineBench R23
Maxon
https://www.maxon.net/ja/cinebench
前回CineBenchのAlder LakeではP-Core/E-Core無関係に全コアを有効にして比較したが、今回はP-Coreのみの結果を加味した。ちなみにこの設定はProcessor Affinityの変更で行ったのだが、E-Core(Core i9-12900Kの場合ならCPU 16~CPU 23)だけを割り当てるようにしたところCineBenchがまともに実行できなかった。そんなわけでE-Coreのみのデータは残念ながら取れていない。ちなみに今回利用したROG MAXIMUS Z690 HEROの場合、BIOS SetupでE-Coreを0にする(完全無効化)事は可能だが(Photo01)、P-Coreを0にすることは出来ない(Photo02)ため、この方法でE-Coreのみの性能を評価する事も不可能である。
ということで結果がグラフ1である。Multiの場合、E-Coreまで有効にすると27193、P-Coreのみだと19550ということで、差し引き7643がE-Coreの分という計算になる。ただこれはSingleの場合で比較しても判るが、Zen 3ベースのRyzen 9 5950XとはIPCそのものがだいぶ違う様で、結果8コアのCore i9-12900Kは16コアのRyzen 9 5950Xの23%落ちという猛烈に高い性能を発揮している事になる。もっとも前回のこれを見て頂くと判るが、消費電力そのものはこれもブッチギリでCore i9-12900Kの方が高い訳で、ここからE-Core 8コア分を抜いても、Ryzen 9 5950Xと同等になるとは思えない。「性能は高いが、消費電力もまた高い」あたり、性能/消費電力比で考えると微妙な感じではある。
◆POV-Ray V3.8.2 Beta2(グラフ2)
POV-Ray V3.8.2 Beta2
Persistence of Vision Raytracer Pty. Ltd
http://www.povray.org/
同様にPOV-Rayも。こちらはCineBenchと違って、実際に処理速度(PPS:Pixels Per Second)の比較であるが、傾向としては似たようなものである。実際、One CPUにおける性能を比較した場合、Ryzen 9 5950XはAlder Lakeの3割落ちという辺りで、なのでP-CoreのみのAlder LakeのAll CPUの結果がRyzen 9 5950Xの9割弱というのは、まぁ妥当と言えば妥当な結果である。もっともこれに関しても、消費電力の枠を考えないからこういう議論になる訳で、仮にP-Coreのみで16コア集積したら、性能はRyzen 9 5950Xの2倍近くになるが、消費電力も軽く2倍を超えるだろう。
◆Intel oneAPI Math Kernel Library Benchmarks Suite 2021.2.0_109(グラフ3)
Intel oneAPI Math Kernel Library Benchmarks Suite 2021.2.0_109
Intel
https://www.intel.com/content/www/us/en/developer/articles/technical/onemkl-benchmarks-suite.html
今回、P-CoreのみのCore i9-12900Kを追加してみた。その結果がなかなか面白い。Size/LDAが20000手前で言えば、Core i9-12900Kの方が性能の立ち上がりは早いが、その先で言えばほぼCore i9-11900Kと同等になっている。これはおそらくAVX2ユニットの性能がボトルネック(というか、もうこれ以上の性能が出ない)というところに来ているものと考えられる。後で細かく説明するが、Alder LakeのP-CoreことGolden Cove、フロントエンドやバックエンドに確かに手が入っているものの、FPU/SIMDに関して言えば実行ユニットなどは(Rocket Lakeに搭載されるCypress Coveと)同じであり、結果動作周波数が同じなら性能も同じ、という結果がはっきり見えたことになる。
ついでに言えば、P-CoreのみのCore i9-12900Kが最大で533.14GFlops。P-Core+E-Coreだと711.40GFlopsということは、E-Coreのみだと178.26GFlops。動作周波数の差(E-Coreは最大でも3.9GHzどまり)とかHyper-Threadingが無い(から、AVXユニットの利用効率がやや落ちる)事を加味しても、ラフに言ってCycleあたりのAVX2の処理命令数はP-Coreの1/3と考えていいだろう。
実際この数字は構成にあっている。P-Coreはこちらにもあるように、Port 00/01/05の3つでFMAを発行できるが、E-Coreにはこちらで示されている様に、そもそもFMAが無いので、Port 20/21を両方使ってFMULとFADDをそれぞれ実行する形になる。なので、1cycleあたりのFMAのピーク性能は1/3に落ちる計算で、数字上もこれが確認された格好だ。