●CineBench / PCMark / Procyon / POV-Ray / TMPGEnc / oneMKL Benchmarks / 3DMark

10月28日にPreviewということで機材だけご紹介したAlder Lakeこと第12世代Intel Coreプロセッサだが、やっと情報解禁になったので、その性能評価をお届けしたい。

今回評価するのは「Core i9-12900K」と「Core i5-12600K」


○評価機材

今回利用したのは、Previewでもご紹介したCore i9-12900KとCore i5-12600Kで、これをROG MAXIMUS Z690 HEROに装着、CPUクーラーはROG RYUJIN II 360を利用、それにT-Force Delta RGB DDR5 16GB×2(DDR5-4800)を装着して利用した。Core i9-12900KのCPU-ZでのCPU表示はこんな具合(Photo01)。L1キャッシュが×16づつ、L2キャッシュが×10づつとなっている表記の理由が今一つ理解できない。Alder Lakeの内部はこんな感じ(Photo02)になっており、なので

L1 Data:8×48KB + 8×48KB

L1 Inst:8×32KB + 8×32KB

Level 2:8×1.25MB + 2×1.25MB

であればまだ理解できるのだが。実際BIOS Setupではそんな表示になっている(Photo03,04)。

Photo01: ちなみにCPU-Zはこの原稿を書いてる最中に1.98.0.x64がリリースされたが、キャッシュ周りの表記などは全く変わっていなかったので1.97.0.x64のままで。


Photo02: うっかりAlder Lake発表前に公開され、一時期消えていた"Game Dev Guide for Alder Lake Performance Hybrid Architecture"より。


Photo03: P-Coreの詳細。動作周波数はダイナミックに変化するのであまり意味はない。それよりも不思議なのはL4の存在。勿論今回のAlder Lakeには存在しないが、アーキテクチャ的にL4を搭載するための準備が追加された、ということだろうか?


Photo04: E-Coreの場合、4コアで1クラスタとなり、そのクラスタあたりに共有L2が付くという、Tremontと同じ構成が踏襲されるため、L2の数は×2となる。


ちなみにCore i5-12600Kの場合はこんな感じ(Photo05)となった。またCore i9-12900KのClock Treeを見てみるとこんな感じ(Photo06)で、Core #1〜#8がP-Core、#9〜#15がE-Coreに割り当てられているのが判る。

Photo05: Technologyはまだ"10nm"になっているあたりがご愛敬。


Photo06: 動作周波数は当然コア毎に異なる。ちなみにUnCoreが4.7GHzで動いている事も判る。


なお、Windowsからは勿論問題なく認識される(Photo07,08)。なお実際に実行してみると、例えばCineBenchの場合、24Threadということで同時に24個のレンダリングが始まるが、よく見ているとさっさと処理を済ませる16個と、のたのたしている8個、という様にグループ分けが出来ているのが面白い(Photo09)。

Photo07: 24Threadと認識される。


Photo08: こちらは16Thread。ついにCore i5グレードも16Thread時代に。


Photo09: E-Coreで動くレンダリングタスクは、明らかにP-Coreよりも処理が遅いので、なかなか見ていて面白い。


ついでにMemoryについて。今回はDDR5-4800 DIMMを利用しているが、CL値は何と40(Photo10)。といってもこれはBase Clockに対しての数字であって、DDR4で言えばCL20相当である。SPDの情報はこんな感じ(Photo11)で、JEDEC標準のDDR5-4800以外に1.35V駆動でDDR5-6000での駆動が可能になっている。

Photo10: ChannelがQuadになっているのは、DDR5では64bitで1chではなく、32bitづつに分割してアクセスできるからで、なのでDIMMそのものは従来と同じく2ch 4DIMM Slot構成。ただH/Wから見ると4chに見えるという話である。


Photo11: XMP-6000でもCLが40なのはすさまじい。とはいえ、さすがにtRASとかtRCは多少増えているが。


さて、テスト機材であるが表1の様になっている。今回は対抗馬としてCore i5-11600KとCore i5-11900K、それにRyzen 5 5600X/Ryzen 9 5950Xを用意した。OSはAlder Lakeに合わせてWindows 11としている。ちなみにこちらの記事でも触れた様に、KB5006746を当てたうえで、Ryzenに関してはAMDのUEFI CPP2 Driver 3.10.08.506を当てた状態で利用している。

また今回はUL BenchmarksのProcyonを利用しているが、今回のベンチマークの最中にAdobe MAX 2021が開催され、Photoshop/Lightroom Classic/Premire Proなどが軒並みバージョンアップされてしまった。ところがProcyon自体がベンチマーク時点ではこのAdobe Creative Suitesの最新版に対応しておらず、ベンチマークが稼働しなかった。それもあって、今回は

Photoshop v22.5.1

Premier v15.41

Lightroom Classic v11.0

Media Encoder v15.4.1

という、ちょっとだけ古いバージョンを利用しての比較となっている(Procyonそのものも最新版ではなくv2.0.249を利用している。現時点での最新版はv2.0.268.0で、こちらは最新版のCreative Suitesに対応しているのではないかと思う)。

グラフ中の表記は

R5 5600X:Ryzen 5 5600X

R9 5950X:Ryzen 9 5950X

i5-11600K:Core i5-11600K

i9-11900K:Core i9-11900K

i5-12600K:Core i5-12600K

i9-12900K:Core i9-12900K

となっている。また解像度表記は何時もの通り

2K :1920×1080pixel

2.5K:2560×1440pixel

3K :3200×1800pixel

4K :3840×2160pixel

とさせていただく。

○◆CineBench R23(グラフ1)

CineBench R23

Maxon

https://www.maxon.net/ja/cinebench

グラフ1


普通はこれを先頭に持ってくることはあまりないのだが、ある意味象徴的な結果になったので、こちらを持ってくることにした。

グラフ1はもう明白で、Single ThreadはもとよりMulti Threadの結果であっても、Ryzen 9 5950Xをやや上回る結果を叩き出しているわけで、特にピーク性能に関して言えば間違いなくRyzenシリーズを上回る性能、と評して良いかと思う。Single Threadは、P-Coreを使う限りにおいては間違いなくRyzen 5000シリーズを明白に上回っており、それどころがCore i5-12600KですらRyzen 9 5950Xを上回っているあたりは、かなり性能の上乗せがなされた、としても良いかと思う。

○◆PCMark 10 v2.1.2525(グラフ2〜7)

PCMark 10 v2.1.2525

UL Benchmarks

https://benchmarks.ul.com/pcmark10

グラフ2


ではここから定番ベンチマークを。ということでPCMark 10。グラフ2がOverallだが、もうすべての項目でAlder Lakeが非常に良いスコアを示している。特にApplications BenchmarkでCore i5-12600KがRyzen 9 5950Xを上回るほどである。

グラフ3


グラフ4


グラフ5


グラフ6


Applicationsの話は後にして、とりあえずTest Group(グラフ3)を見ると、Essentials/Productivityはともかく、Digital Contents CreationとGamingのばらつきが大きい。Gamingは後で3DMarkの結果で見るとして、Essentials(グラフ4)、Productivity(グラフ5)、Contents Creation(グラフ6)のいずれも、Alder Lakeは全般的に数字が悪くない。Core i9-12900Kはもとより、Core i5-12600Kの数字もかなり良好で、Core i9-11900Kと比較してもそう遜色ない数字が出ているあたりは優秀としか言いようがない。Ryzen系との比較でもこれは言える事だ。

グラフ7


Applications(グラフ7)では、性能差が出やすいExcelだけでなく、あまり差が出にくいはずのWordとかPowerpointの結果でも明白にAlder Lake有利である。正直PowerPointのスコアで10000超え、というのは想定していなかった。全般的に極めて優秀な結果、として良いかと思う。

○◆Procyon v2.0.249(グラフ8〜11)

Procyon v2.0.249

UL Benchmarks

https://benchmarks.ul.com/procyon

昨年のRocket Lake-Sのレビューで初めてご紹介したUL BenchmarkのProcyonであるが、今年10月にv2.0にアップデート。新たにMicrosoft Officeを利用したワークロードに対応した。PCMark 10のApplication Benchmarkとの違いは、Outlookを開いて予定を確認しながらExcel/Word/Powerpointを同時に稼働させる、より実際のワークロードに近い形でのシナリオになっていることで、その意味ではPCMark 10というよりはSYSMarkに近い感じのベンチマークになっている。勿論従来のPhotoshop/Lightroom Classicを利用したPhoto Editing、それとPremire Proを利用したVideo Editingの2つも健在である。

グラフ8


という訳でグラフ8がOverallであるが、もうすべての項目で見事にAlder Lakeが有利という感じになっている。対Ryzenという観点では、Rocket Lake-SベースのCore i5-11600K/Core i9-11900Kとは良い勝負であったRyzen 5 5600X/Ryzen 9 5950Xも、Alder Lakeにはちょっと及ばないというところである。

グラフ9


もう少し詳細を、ということでPhoto Editingの詳細(グラフ9)を見ると、差が大きいのはLightroom Classicを利用したBatch Processingの方で、Photoshopを利用したImage Retouchingではそこまで明確な差とは言いにくい。実際生データを見ても、確かにAlder Lakeは高速ではあるが、他を大きく引き離しているわけではなく、すべてのテスト項目(6項目)で少しづつ差をつけているという感じだ。ところがLightroom Classicでは特にPhotoEditingBatchProcessExportという処理で他を圧倒しており、これが決定的に性能差になっている感じだ。

グラフ10


Video Editing(グラフ10)では細かいテスト項目が無いので、生データをそのまま示している。4つのテストの所要時間なので、短いほど高速になる訳だが、御覧の通りで全項目共に圧倒的とはいえないまでも確実に高速である。

グラフ11


Office Productivity(グラフ11)は全46項目のテスト結果を集約した形だが、特にPowerPointでの他との性能差が端的だし、Excelも結構なものだ。ただこのPowerpointの性能差の殆どが、OfficeProductivityPowerpointExportToPdfという、要するにPDFでのExportの時間で生み出されている。Alder Lake以外は概ね13〜14秒を要するのに対し、なぜかAlder Lakeでは2秒ほどで完了しているのだが、実はAlder Lakeでも13秒かかる場合と2秒で済む場合が混在しているという謎の結果になっている。大きな差があるのはここだけで、他の項目は常識的な値のバラつきなあたり、これはテスト側に何か問題があるんじゃないか? という疑いがやや捨てきれないのだが、これを除外して考えてもやはりAlder Lakeにアドバンテージがある事そのものは間違いない。

○◆POV-Ray V3.8.2 Beta2(グラフ12)

POV-Ray V3.8.2 Beta2

Persistence of Vision Raytracer Pty. Ltd

http://www.povray.org/

今年7月に最初のβがリリースされたPOV-Ray V3.8。現状の最新リリースはβ2なので、これを試用してみた。ちなみにβ版はこちらから入手できる。

ちなみに以前こちらでも指摘したが、今回もIntelのCPU(Core i5-11600K/i9-11900K/i5-12600K/i9-12900K)の場合にはNoise Functionには"avx2fma3-intel"を利用し、一方でRyzen 5 5600X/Ryzen 9 5950Xでは"avx-generic"となっているので、ややIntel系に有利ではある。

グラフ12


結果(グラフ12)を見ると、そのあたりが反映されてかOne CPUでRyzen系が低めなのはともかくとして、All CPUだと特にRyzen 9 5950Xはコア数を生かして猛烈に性能を上げてきているわけだが、Core i9-12900Kはこれを上回る性能を叩き出しているあたりは流石、としか言いようがない。あるいはCore i5-12600K vs Core i9-11900K、同じ16Thread同士とは言っても製品としてのクラスが大きく違うのに、性能ではCore i5-12600Kの方が(One CPUでもAll CPUでも)上、というのは、性能のポジショニング的に色々問題が湧いてきそうである。

○◆TMPGEnc Video Mastering Works 7 V7.0.23.25(グラフ13)

TMPGEnc Video Mastering Works 7 V7.0.23.25

ペガシス

http://tmpgenc.pegasys-inc.com/ja/product/tvmw7.html

グラフ13


コア数がリニアに効くベンチマークではあるが、ここではかなりRyzen 9 5950Xが健闘したと思う。それでも辛うじてCore i9-12900Kがこれを退けているあたりは、同じ16コアとは言え構成に差がある事を考えれば、いかにP-Coreの性能が高いか、という話になる。これはCore i9-11900KよりCore i5-12600Kの性能が高い事からも明白である。逆に今回の比較の中で、一番厳しいのがRyzen 5 5600Xというのも、構成を考えれば致しかたない話とはいえ、メインストリーム向けという括りの中では今後厳しい戦いを強いられることになりそうな感じである。

○◆Intel oneAPI Math Kernel Library Benchmarks Suite 2021.2.0_109(グラフ14)

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

久々にIntel MKL(Math Kernel Library)に含まれているLinpackベンチーマークを。ちなみに現在名称がoneMKL(oneAPI Math Kernel Benchmark)に変更し、oneAPIの一部となった。が、このベンチマークそのものは依然としてCPUのみを利用する形である。

グラフ14


こちらのベンチマークはRyzenでは動作しないので、対象はIntelの4つのみである。横軸はSize(Number of Equations/Problem Size)とLDA(Leading dimension)を一致させて変化させてゆき、それによる性能の変化をプロットしたものだ。大体Size/LDAが62000前後で32GBのメモリを使い切るので、その先はPagefileのアクセスが発生して急速に性能が劣化する。それもあって最大値を60000あたりに設定している。

で、結果(グラフ14)は見ての通りで、Core i9-11900K vs i9-12900では33%程度、Core i5-11600K vs i5-12600Kでも11%ほどの性能改善がみられている。動作周波数はダイナミックに変化する状況だから同等にそろえた訳ではないが、概ねこのあたりが2つのコアのIPCの差、という考え方そのものは間違ってはいないと思う。ただ、なぜCore i9同士は33%も性能差があるのにCore i5同士だと11%の性能差なのか? という話は、だいぶ後にあるがグラフ132のところで説明したい。

○◆3DMark v2.20.7290(グラフ15〜18)

3DMark v2.20.7290

UL Benchmarks

https://benchmarks.ul.com/3dmark

グラフ15


グラフ15が3DMarkの結果だが、なかなか面白い。WildLifeはまぁ同等(というか、なぜかCore i9-12900Kが一番低い)、NightRaidはAlder Lake優勢、FireStrikeは僅差ながらRyzen 9 5950Xが最高速を死守、TimeSpyはごちゃごちゃながら、辛うじてAlder Lake優勢、PortRoyalはもう誤差の範囲で同等、という結果になっている。要するにCPU性能があまり関係ないという話である。

グラフ16


で、実際Graphics Test(グラフ16)を見ると、NightRaidを除くと概ね大差なしという感じでいる。逆に言えば、なぜこんなにNightRaidだけCPUの性能の影響を受けるのかが不思議である。GPU負荷で言えばWildLifeの方が低いから、WildLifeがバラけるならまだ判るのだが。まぁNightRaidの方が提供時期が早い(≒作りが古い)分、CPU性能の影響を受けやすいということかもしれない。

グラフ17


逆にPhysics/CPU Testの結果(グラフ17)を見ると、見事にばらついており、負荷が軽いNight RaidではCore i9-12900Kが最速なのに負荷が増えたFireStrikeとかTimeSpy ExtremeではCore i9-12900KとRyzen 9 5950Xが僅差で争うという面白い展開になっている。まぁ全体としてはAlder Lakeが優位ではあるのだが。

グラフ18


謎なのがCombined Test(グラフ18)で、意外にRyzenが健闘している事だ。グラフ15で、FireStrikeのみRyzenのスコアが高いのは、このあたりの傾向が影響していると思われ、それがそのままPCMark 10のGamingのスコアの高さに繋がっているという訳だ。

●ゲームその1:Assassin's Creed / Borderlands 3 / F1 2021 / Far Cry 6

○◆Assassin's Creed Valhalla(グラフ19〜25)

Assassin's Creed Valhalla

UBISOFT

https://www.epicgames.com/store/ja/p/assassins-creed-valhalla

ベンチマーク方法はこちらのAssassin's Creed Valhallaの項目に準ずる。設定は

Quality: Ultra High

とした。

グラフ19


グラフ20


グラフ21


グラフ22


グラフ23


グラフ24


グラフ25


さて、平均/最大/最小フレームレート(グラフ19〜21)を見ると、最大におけるRyzen 5 5600Xの高さが目を引くが、これは最小フレームレートの低さの裏返しであって、単に暴れているだけであるなので場外すると、「概ね変わらない」というあたり。強いて言えば平均フレームレートで3K・4KにおけるCore i9-12900Kが3〜5fpsほど持ち上がっているのが特徴かもしれない。これはフレームレート変動(グラフ22〜25)からも明らかだ。ただ、CPU性能が貢献しているというのであればむしろ2K/2.5Kでこそ差が出そうなもので、むしろ本来ならば差が縮まるべき3K/4Kで差が大きくなっている理由が今一つ判らないところだ。

○◆Borderlands 3(グラフ26〜32)

Borderlands 3

2K Games

https://borderlands.com/ja-JP/

ベンチマーク方法はこちらのBorderland 3の項目に準ずる。設定は

全体的な品質: ウルトラ

アンチエイリアス: テンポラル

とした。

グラフ26


グラフ27


グラフ28


グラフ29


グラフ30


グラフ31


グラフ32


本来ならばCPU性能がもう少し露骨に出るはずのBorderlands 3だが、平均フレームレート(グラフ26)では実際には(なぜか)Core i5-11600Kがやや脱落気味、あとはほぼ同等という結果になった。最大/最小フレームレート(グラフ27〜28)を見ると、Core i9-11900KやRyzen 5 5600もやや暴れているのが判るが、あとはほぼ同等。

フレームレート変動(グラフ29〜32)も、Core i5-11600Kを除くとほぼ同等であって、ここでCPUの性能差を読み取るのは難しいところだ。

○◆F1 2021(グラフ33〜39)

F1 2021

EA Sports

https://www.ea.com/ja-jp/games/f1/f1-2021

ベンチマーク方法はこちらのF1 2021の項目に準ずる。設定は

Anisotropic Filtering: 16x

Anti-Aliasing: TAA

Detail Preset: Ultra High

である。

グラフ33


グラフ34


グラフ35


グラフ36


グラフ37


グラフ38


グラフ39


こちらもDX12対応で、しかもDirectX RayTracing対応にしては軽めのゲームなのでCPU性能が出やすいか、と思いきや、平均/最大/最小フレームレート(グラフ33〜35)を見る限りは、Ryzen 5 5600Xが2K〜2.5Kで低めになっているだけで、見事に差が無い。フレームレート変動(グラフ36〜39)を見ても2K/2.5KでRyzen 5 5600Xがやや低迷している以外は、「ちょっと太目の1本の線」といった感じになっており、絶対的なCPU性能はともかく、ゲームのフレームレートには反映されていないことが明らかである。

○◆Far Cry 6(グラフ40〜46)

Far Cry 6

Ubisofy Entertainment

https://www.ubisoft.com/ja-jp/game/far-cry/far-cry-6

ベンチマーク方法はこちらに準ずる。設定は

Quality: Ultra

DXR Reflection: On

DXR Shadow: On

とした。

グラフ40


グラフ41


グラフ42


グラフ43


グラフ44


グラフ45


グラフ46


さて、Far Cryの平均フレームレート(グラフ40)では、2K〜2.5Kでは一応Core i9-12900Kが最高速である。まぁ2Kだと例えばRyzen 9 5950X比で10fps弱、8%ほどのフレームレート改善となっているが、大きい数字か? と言われるとそれほどでもない。勿論もっとクオリティを落としてやれば、もう少し大きな差になるかもしれないが、それほど重くはないゲームにしては差が少ない気がする。で、3K以上はもう一本の線である。

ただRyzen 5 5600Xが一つだけ外れているあたり、CPU性能に無縁という訳ではない。ということは、ゲームではCPU性能を使い切れない何かがある、ということになる。

この辺の傾向はフレームレート変動(グラフ43〜46)からも明白で、2K〜2.5K(グラフ43・44)こそCore i9-12900Kが他より頭一つ抜け出しているが、3K以降はもう差が無い感じで推移しており、一応Core i9-12900Kが他より「やや」有利という程度の差ということになる。

●ゲームその2:Horizon Zero Dawn / Metro Exodus / RDR 2 / Tomb Raider

○◆Horizon Zero Dawn(グラフ47〜53)

Horizon Zero Dawn

SIE

https://www.jp.playstation.com/games/horizon-zero-dawn/

ベンチマーク方法はこちらのHorizon Zero Dawnの項に準じる。設定は

プリセット: クオリティ優先

とした。またOCATでフレームレートを取得している。

グラフ47


グラフ48


グラフ49


グラフ50


グラフ51


グラフ52


グラフ53


GPU依存度が高いというか、CPUがボトルネックになっている感の高いこのHorizon New Dawn、ある意味CPU性能が露骨に出る傾向のあるゲームであるが、平均フレームレート(グラフ47)を見ると確かにその傾向は出ていた。が、最高速はRyzen 9 5950Xで、Core i9-12900Kはわずかに及ばず。なぜかCore i9-11900Kは低迷という結果になっている。まぁ一番低いのがRyzen 5 5600Xというのはこれまでと変わらないが。

最大/最小フレームレート(グラフ48・49)は、フレームレート変動で判るように何しろフレームレートの振れが激しいゲームなのであんまりあてにならないのだが、それでも最小フレームレートでは僅差ながらCore i9-12900Kがトップというあたりは、一応性能が改善しているのは間違いない。なのだが、実際にフレームレート変動(グラフ50〜53)を見てみると、特に2KなどではRyzen 9 5950Xの方がやや性能が上、と言わざるを得ないし、2.5Kも微妙にまだRyzen 9 5950Xの方がアドバンテージがある感じだ。3K/4Kはまぁ同等、としてしまっても構わないレベルだが。

○◆Metro Exodus PC:Enhanced Edition(グラフ54〜60)

Metro Exodus PC:Enhanced Edition

4A Games

https://www.metrothegame.com/

ベンチマーク方法はこちらのMetro Exodus Enhanced Editionの項に準じる。設定は

Shading Quality: Ultra

Ray Tracing: High

DLSS: Off

Reflections: Hybrid

Variable Rate Shading: 4x

Hairworks/Advanced PhysX: Off

Tesselation: Full

とした。

グラフ54


グラフ55


グラフ56


グラフ57


グラフ58


グラフ59


グラフ60


平均フレームレートはグラフ54に示すとおりだが、もうこれは差が無いとしても良いレベル。Ryzen 5 5600Xが、2Kでわずかに落ちてるのが判るという程度。最大/最小フレームレート(グラフ55・56)も、Ryzen 5 5600Xが暴れてるというレベルでしかない。フレームレート変動(グラフ57〜60)を見ても、Ryzen 5 5600X以外は区別できないレベルで、(Ryzen 5 5600X以外は)CPUの差は結果には反映されていない、というのが正しい結論かと思う。

○◆Red Dead Redemption 2(グラフ61〜67)

Red Dead Redemption 2

Rockstar Games

https://www.rockstargames.com/jp/games/info/reddeadredemption2

ベンチマーク方法はこちらに準ずる。設定はいつもと同じく

Quality Preset Level: 14(Favor Quality)

である。こちらもフレームレート変動をOCATで取得している。

グラフ61


グラフ62


グラフ63


グラフ64


グラフ65


グラフ66


グラフ67


これも比較的CPU性能の影響を受けやすいゲームではあるのだが、平均フレームレート(グラフ61)を見る限りは、2Kを含めて「大差無し」の範疇。Ryzen 5 5600Xは低めだが、Core i5-11600Kは更に低くなっているし、平均120fps前後の中での±4fps前後の差だから、大きな差とは言いにくい。最大/最小フレームレート(グラフ62・63)は、特にRyzen系が暴れているが、Red Dead Redemption 2はHorizon New Dawnほどではないにしてもフレームレートが小刻みに暴れるゲームなので、これはまぁ致し方ない感じだろうか。

フレームレート変動(グラフ64〜67)をみても、2Kでは「Core i5-11600Kがやや低いなぁ」という感想が出る程度で、大きな差ではないし、2.5K〜4Kでは性能差を見出すのは極めて困難である。というか、「差は無し」とせざるをえない。

○◆Shadow of the Tomb Raider(グラフ68〜74)

Shadow of the Tomb Raider

SQUARE ENIX

https://tombraider.square-enix-games.com/en-us

ベンチマーク方法はこちらに準じる。設定は

Quality: Highest

Ray Tracing: High

とした。

グラフ68


グラフ69


グラフ70


グラフ71


グラフ72


グラフ73


グラフ74


2Kに関して言えばGeForce RTX 3080と組み合わせるとCPUボトルネックになりやすいということで、ここで性能が概ね推察できる格好だが、平均フレームレート(グラフ68)では、僅差ではあるが以外にもRyzen 9 5950Xが最速で、これにCore i9-12900Kが続くという感じになっている。最大/最小フレームレート(グラフ69・70)もそんな感じで、明確にCPU性能に差があるRyzen 5 5600Xを除くと概ね性能は同一レベルで、ただし強いて言えばRyzen 9 5950Xがわずかに上、という程度。フレームレートの差で言えば、ほぼ同等として良いかと思う。

フレームレート変動(グラフ71〜74)のうち2Kで見ると、70〜90秒あたりで急激にフレームレートが盛り上がるところのピークで、Core i9-12900KはややRyzen 9 5950Xに及ばないのが見て取れる。ただその前後はほぼ変わらないのだが。2.5K以上はほぼ一本の線、という感じになっており、このあたりからは性能差を読み取るのは不可能だ。

●ゲームその3:Division 2 / Watch Dogs / World War Z

○◆Tom Clancy's The Division 2(グラフ75〜81)

Tom Clancy's The Division 2

Ubisoft

https://www.ubisoft.co.jp/division2/

ベンチマーク方法はこちらの"Tom Clancy's The Division 2"に準ずる。設定は

品質: ウルトラ

とした。

グラフ75


グラフ76


グラフ77


グラフ78


グラフ79


グラフ80


グラフ81


意外にも、こちらではなんと一番性能が下回ったのがCore i9-12900Kであった。平均フレームレート(グラフ75)で見てみると、2Kこそ辛うじてRyzen 5 5600X(178.8fps)を上回る181.7fpsを確保しているが、それ以上の解像度では常にRyzen 5 5600Xを下回るという、ちょっと想定外の結果である。最大フレームレート(グラフ76)も、Core i9-12900Kのみちょっと暴れぶりが大きい感じになっており、何か相性が悪い、と判断せざるを得ない。

フレームレート変動(グラフ78〜81)で見ても、2Kはまだそれでも全体のバラつきの中(ただしその下の方)にいるCore i9-12900Kだが、2.5K/3Kでは明確に下の方に外れてしまっている。4Kでは相対的にCPU負荷が減るためか、再び他の結果と接近しているが、それでも下の方にいる事には変わらない。

○◆Watch Dogs:Legion(グラフ82〜88)

Watch Dogs:Legion

Ubisoft

https://www.ubisoft.co.jp/wdlegion/

ベンチマーク方法はこちらの"Watch Dogs:Legion"に準ずる。ちなみに設定は

Quality: Ultra

RT Reflection: High

DLSS: Off

とした。

グラフ82


グラフ83


グラフ84


グラフ85


グラフ86


グラフ87


グラフ88


さてこちらの結果も、The Division 2と似た傾向になった。平均フレームレート(グラフ82〜84)を見ると、2KではまだCore i9-11900Kと僅差であるが、2.5K以上では一番フレームレートが低い結果になっている。比較的GPUの負荷が高いゲームなので、相対的にCPU負荷が低いにも関わらず、Core i5-12600Kどころか2.5K以上のRyzen 5 5600Xにも劣る、というのはやはり何か相性の問題がありそうだ。

この傾向はフレームレート変動(グラフ85〜88)でも明確に示されている。2Kこそ、もっと下にRyzen 5 5600Xが居るから目立たないが、2.5K以上では明確に一番フレームレートが低い、というのは興味深い結果と言わざるを得ない。

○◆World War Z: Aftermath(グラフ89〜95)

World War Z: Aftermath

Paramount Pictures

https://www.epicgames.com/store/ja/p/world-war-z

今回から追加したのがこちら。ここまで紹介したゲームに比べると、各段にGPU負荷が低いが、それ故にCPU性能の比較には便利だろう、と思ってのことである、

ベンチマーク手順だが、製品版のインストール(筆者はSteam経由で入手)後(Photo12)に、Settings画面からVideo Settings(Photo13,14)に移行する。ここで

Graphics API: Vulkan

Display Mode: FullScreen

Resolution: 1920×1080/2560×1440/3200×1800/3840×2160

VSync: Off

FSR: Off

Visual Quality: Ultra

とし、他はデフォルトのままとした。ちなみにAPIの切り替えとVisual Quality Presetの設定の際にはゲームの再起動が要求される。

設定が終わったら下段にある"Run Benchmark"を実施するとすぐにベンチマークがスタート。60秒後にこんな具合に結果が表示される(Photo15)のだが、ログが一切残らない。

Photo12: 起動後の画面。Horizon New DawnとかRed Dead Redemption 2と異なり、ゲームの起動「前」にOCATを起動しておけるのは便利。


Photo13: 対応APIはDX11とVulkan。一応両方比べてみたが、Vulkanの方がフレームレートが高かったので、Vulkanを採用。


Photo14: 下までスクロールしないとこれが出てこないのはちょっと不便。


Photo15: ここまで出してるんだから結果のログもとれるようにしてほしかった。


ログが残らないため、結局OCATを併用して、ベンチマークスタートからこの画面が出るまでの60秒間の記録を取る必要がある。ちょっと不便な点だ。

グラフ89


グラフ90


グラフ91


グラフ92


グラフ93


グラフ94


グラフ95


ということで結果を見てみたい。まずは平均フレームレート(グラフ89)である。一番描画オプションを高くしても、4Kで120fpsだから軽いという事はお分かりいただけるかと思う。で、2Kでは御覧の通りにスコアがばらけるのだが、Core i9-12900KはRyzen 9 5950Xに辛勝という程度。313.1fps vs 307.8fpsだから、差は2%もない。300fpsでの6fps程度の差というのは、「一応Core i9-12900Kの方が上と言えば上だが、大して変わらない」範疇として良いかと思う。最大/最小フレームレート(グラフ90・91)も2Kのみ多少ばらけているが、逆に言えば2.5K以上は殆ど差が無い、という意味である。

実際フレームレート変動(グラフ92〜95)を見ると、2Kこそ結構グラフに差がみられるが、その2K、30秒あたりを見ると、「むしろRyzen 9 5950Xの方がフレームレート上なんじゃ?」と思えるほどで実際両者のフレームレートはほぼ拮抗しているとして良いかと思う。勿論Core i9-11900Kに比べると明確に差があるから、性能が向上しているのは間違いないとして良いとは思うのだが。2.5K以上はもう殆ど一緒、という感じになっており、やはり結果として対Rocket Lakeという観点では性能向上がみられるが、対Ryzen 5000シリーズでは「同等程度」として良いかと思う。

●RMMT 1.1 / Sandra 2021

○◆RMMT 1.1(グラフ96〜97)

RMMT 1.1

Rightmark.org

http://cpu.rightmark.org/products/rmma.shtml

ゲームベンチマークはこの程度にして、続いては改めてCPU性能の比較であるが、今回メモリ回りに関してはこのRMMT 1.1が唯一のテストである。理由は簡単で「Sandraでメモリテストを噛ますとOSがクラッシュするから」である。特にLatency周りは、今までと測定方法が変化したようで、例えばAIDA64(最新版の6.50を利用)を使ってメモリ回りの比較をするとこんな感じ(Photo16〜19)で、しかも各テストが終わるといちいちこんなDialogが出てくる(Photo20)。次に示すSandra 20/21も最新版を使ってもクラッシュしまくりで、そんなわけで特にMemory Latencyは一切測定が出来なくなっている。ただ幸いにもRMMTは無事に動作したので、こちらの結果をご紹介したい。

Photo16: Memory Latencyが0.0nsってのはちょっと...


Photo17: Readが70.5GB/secというのはほぼRMMTと同じく。


Photo18: Writeが68.8GB/secはいくらなんでもちょっと高すぎでは...


Photo19: いやいくら何でもこれはない。


Photo20: と言われても、一応最新版なんですが...


さてまずReadである。今回Alder Lakeに関しては、Task ManagerからProcessor Affinityを使ってP-CoreとE-Coreを別々に測定した。実線がP-Core、破線がE-Coreになっている。DDR5の効果であるが、Core i9-12900Kの場合、P-Coreで最大70.5GB/sec、E-Coreでも58.9GB/secという高い帯域を誇る。理由は簡単で、DDR5では単純にスピードを倍増しただけではなく、バンク数の増加やバースト長の変更、サブチャネルのサポート、リフレッシュの改良など変更箇所は多岐に及んでいるからだ。これはMicronの資料によるものだが、DDR5-4800はDDR4-3200比で最大87%の帯域増加が期待できるとしている。DDR4-3200の実効帯域はグラフ96からも明らかな様に50GB/sec程度(Ryzen 9 5950Xで49.1GB/sec程度。Core i9-11900Kだと47.4GB/sec程度)だが、Micronの理論値が正しければAMDなら91.8GB/sec程度、88.6GB/sec程度まで引っ張れる計算になる。もっともMicronの資料は多分に楽観的というか、理論上ベストな場合を積み重ねた計算で、実際にはもう少し効率は落ちるだろうから、70GB/sec前後というのは割と固めな数字として良いと思う。

グラフ96


実際、グラフ96だとAMDにしてもIntelにしてもDDR4は3Threadあたりでほぼピークになり、そのあとは水平傾向にある(Ryzen 9 5950Xが変なグラフなのは、合計で64MBにも及ぶ大容量L3のお蔭だろう。一応テストはThreadあたり80MBのメモリアクセスにしているので、L3 Hitの影響は少ないとは思うが、皆無ではない。その意味では5threadあたりの数字は余りあてにならず、8threadの49.1GB/secあたりが現実的な数字だと思う)。これに対し、Core i9-12900KのE-Coreの方は7thread→8threadあたりでやや頭打ちであるが、P-Coreの方はまだ余力がある数字であり、もう少し多数のThreadを同時に発行できれば、更に性能があがる可能性がある。

グラフ97


これに対してWrite(グラフ97)の方は、やや疑わしい。DDR5になったからといってBurst Writeがサポートされた訳ではないからだ。バンク数の増加とかサブチャネルなど、ReadとWriteの両方に効果がある改良は多いが、20GB/secそこそこだったDDR4が55GB/secとか58GB/secに上がる理由は無い(ましてやPhoto18みたいに68.9GB/secに達するのはどう考えてもおかしい)訳で、このあたりはAlder Lakeになってタイミングの測定方法が変わってしまい、従来のやり方では正しく測定が出来なくなっている可能性がある。

DDR4→DDR5で、大幅にメモリ帯域が上がり、この結果としてAlder Lakeの性能を引き上げているのは間違いないとは思うが、正確な数値は各ベンチマークソフトが対応するのを待つしかなさそうだ(そしてRMMTはそろそろ利用できる限界が来たようだ)。

ついでに書いておくと、今のところWindows 11環境のAlder LakeでRMMAを取る方法が発見できていない(Test Modeにしても、RTCore64.sysが動作してくれない。またCacheやTLBのデータも取得できなくなっている)。本当はRMMAでプロセッサパイプラインの分析もしたかったのだが、こちらもそろそろ諦める時期が来たのかもしれない。

○◆Sandra 20/21 2021.11.31.49 Tech Support(グラフ98〜128)

Sandra 20/21 2021.11.31.49 Tech Support

SiSoftware

https://www.sisoftware.co.uk/

ということで、次はSandraである。一応現時点では最新版の2021.11.31.49を利用しているが、Alder LakeでMemory Test(Overall Memory Score/Memory Bandwidth/Cache & Memory Latency/Cache & Memory Bandwidth)を実施すると、どれをやっても直ちにOSがクラッシュする。これが出るのはAlder Lakeだけで、Rocket LakeやRyzen 5000シリーズは問題なく測定できたが、Alder Lakeの結果を入れずに示しても意味が無いので、今回はProcessor Benchmarkの結果(とVideo Memory Bandwidthの結果)だけをお届けする。

ちなみにSandra自体はHybrid Architectureへの対応を進めており、例えばMC(Multi-Core Test)や1T(1 Thread)だとBig Coreのみ(つまりP-Coreのみ)とかLittle Coreのみ(つまりE-Coreのみ)といったテスト項目があるにも関わらず、結果を見てみるとBig CoreのみとLittle Coreのみで同じ結果が並んでいたりして、まだ正しく動いている様には見えない。それもあって、今回はMC+MT(P-Core/E-Core無関係に全Threadを利用)と、1T(P-Core/E-Core無関係に、WindowsのTask Schedulerが選んだ1Threadで処理を実行)の2つの結果だけを示している。

グラフ98


グラフ99


グラフ100


グラフ101


ということで前書きが長くなったが、まずはDhrystone/Whetstone(グラフ98〜101)。

Dhrystone MT(グラフ98)のスコアを見ると、なんとCore i9-12900KよりRyzen 9 5950Xの方がやや上である。またCore i5-12600KはCore i5-11600Kよりは当然上だが、Core i9-11900Kにはやや遠い程度。純粋に演算性能の合計では、P-Core×8+E-Core×8より、P-Coreより多少IPCは落ちてもUnified Core×16の方が上、というある意味納得できる結果である。ただ.NETでは仮想マシン上で動くことになる訳で、こうなるとAlder Lakeの方が効果的に動作するらしい。

一方のDhrystone 1T(グラフ99)だが、おそらくCore i9-12900KはE-Coreで動作している様にも見える。もっとも、Core i5-12600KもP-Coreで動作しているようには見えない(か、P-Coreで動いていても何らかのThrottlingが発生しているのか?)。本来ならもう少し性能が伸びるはずである。

この傾向はWhetstoneでも繰り返されることになった。Whetstone MT(グラフ100)も僅差でRyzen 9 5950Xがトップの座を守り切った。意外にDouble FloatでCore i9-12900Kが伸びないのがちょっと不思議であるが。また.NETでもRyzen 9 5950Xがトップになっており、このあたりはAVX2をダブル搭載した事の効果なのか、それともL3が64MBの効果なのか。ちなみにSingle Nativeだとi5-12600KがCore i9-11900Kを上回っているのもなかなか興味深い。

そしてWhetstone 1T(グラフ101)だと、なぜかCore i9-12900Kが一番低い数字なのは、おそらくE-Coreでの駆動になっていると思われる。Core i5-12600KはP-Coreで、しかもThrottlingなど無い状態でのスコアと思われるので、ここからもう少し上乗せしたのがCore i9-12900KのP-Coreフル駆動での結果になると考えられる。

グラフ102


グラフ103


グラフ104


グラフ105


Processor Multimedia(グラフ102〜105)は、結果が2桁ほどバラつく関係で直線目盛りだと見にくいので、横軸は対数軸にさせていただいている。

さて、まずはInt MT(グラフ102)だが、ここでもCore i9-12900Kは健闘しているが、Ryzen 9 5950Xには微妙に追いつかないあたり。そしてCore i5-12600KはCore i9-11900Kといい勝負になっている。そしてInt 1T(グラフ103)だとCore i9-12900KのみがE-Coreで動いている感じ。ただ.NETではP-Coreになっていると思われる結果であり、やはり裏で仮想マシンが動くとスケジューラの扱いが変わるという事だろうか?

Float MT(グラフ104)もこれまでのMTの傾向と変わらず。そしてFloat 1T(グラフ105)だと、やっぱりCore i9-12900KのみがE-Coreで動いたっぽい結果になっている。もうこの辺りが、Alder LakeというかHybrid Architectureの最大の問題なのかもしれない。

グラフ106


グラフ107


グラフ108


グラフ109


Processor Cryptography(グラフ106〜109)では、基本的に今回試用した6製品はいずれもAES命令をサポートしているので、そうそう大きな差はないかと思いきや、案外にばらついた。Encryption/Decryption MT(グラフ106)でRyzen 5000系は18GB/secあたりが一つのボトルネックになっているようで、コア数とか関係なく一律のスコアだが、Intel系はきちんとスコアが伸びている。逆にCore i9-11900Kが12GB/secそこそこで低迷している理由が良く判らないが、Alder Lakeはどちらもちゃんと性能が出ている。

これが色々変わるのがEncryption/Decryption 1T(グラフ107)で、またもやCore i9-12900KはE-Coreが動作しているかのふるまいだが、Core i5-12600Kもあんまり芳しい性能ではなく、むしろRocket Lake系2製品の方が性能が上、というのはどうしたものか?

一方Hashing MT(グラフ108)であるが、Hashに対応する命令は無いので通常の命令を組み合わせる事になる。そのあたりもあってか、コア数の多いCPUが比較的良いスコアをだしているが、SHA1/SHA-256はともかくSHA-512でCore i9-12900Kが妙に落ち込んでいる理由が今一つ不明である。またCore i5-11600Kと比較してCore i5-12600Kが落ち込んでいるのは、E-Coreでの処理性能が低く、これが全体の足を引っ張っている可能性もある。

もっと変なのはHashing 1T(グラフ109)で、Core i5-12600K/i9-12900KともにE-Coreで動作していると考えるのが妥当な結果になっている。Ryzen 5000系がHasingが苦手なのは既に珍しくないが、E-Coreだとこれと同程度(SHA2-512だとRyzen 5000系より更に落ち込む)というのは、なかなかハンドリングが難しそうだ。

グラフ110


グラフ111


グラフ112


Financial Analysis(グラフ110〜112)もなかなか面白い。まずBlack-Scholes(グラフ110)だが、MTだとなかなかAlder Lakeは健闘している。一方1Tの場合、P-Coreだと悪くない性能(だが、Rocket Lakeと殆ど大差ない程度)だが、E-Coreだと急激に性能が落ちる事になる。Binomial(グラフ112)の場合、Single MTだとCore i9-12900KですらRyzen 5 5600Xに及ばないという恐ろしい性能差になるが、Double MTだといい勝負である。この傾向は1Tの場合も同じで、Single 1T/Double 1Tもよく似た感じになっている。ただしE-Coreに落ちるとちょっと勝負にならないレベルの性能差である。Monte-Carlo(グラフ112)はBlack-Scholesに似た感じだろうか。

グラフ113


グラフ114


グラフ115


Scientific Analysis(グラフ113〜115)では、まずGEMM(グラフ113)で言うとRyzen 5 5900XがSGEMM MT/DGEMM MTともに圧倒的で、このあたりはUnified Core×16の強みがフルに発揮されている感じだ。ただ1Tの場合はそこまでの性能差はなく、特にDGEMM 1TだとRocket Lakeが最高というのはどうしたものか。多分このテスト、1TだとAlder LakeはどちらもE-Coreで実施されているように見える。

FFT(グラフ114)はメモリ帯域がモノをいうベンチマークでもあり、それもあってかAlder LakeがMTで高い性能を出すのはまぁ納得ではある。Ryzen 5000系も大容量L3の効果である程度頑張っているが、Rocket Lakeと同等といったところでAlder Lakeには敵わない。のだが、1TになるとそのAlder Lakeが芳しくないのはどういうことか? 特にFloat 1Tなど、P-Coreで動いていると思しきCore i5-12600Kが、Rocket Lake系の半分強に低迷しているのは、これまで報じられた以上にGolden Coveの内部構造が変わり、メモリアクセス周りの最適化方法が変化したのかもしれない。

N-Body(グラフ115)も概ね同じ傾向である。MTではGEMM同様、やっぱりUnified Coreの数が多い方が有利なようだ。一方の1T、P-Coreがちゃんと使われればいいのだが、E-Coreになってしまうとえらく性能が低迷することになる。

グラフ116


グラフ117


グラフ118


グラフ119


次はProcessro Neual Networks(グラフ116〜119)。CNN Inference(グラフ116)はこれまで見てきた構図とよく似ている。Normal MTだとCore i9-12900Kは明確にRyzen 9 5950Xを上回る性能だが、High-Precision MTだと互角に近いところに落ち着く。まぁRocket Lakeと比べると大幅な性能アップであることは間違いない。その一方で1TだとRocket Lakeと大して変わらないというのは、要するにCPUコアの性能というよりはメモリアクセス性能の改善が効果的だった、というあたりだろうか? E-Coreだと性能が半分以下に落ちるのは、まぁ当然であろうか。

ところがCNN Training(グラフ117)の場合、メモリアクセスよりも計算量が必要になってくることもあってか、Ryzen 5000系有利になっている。勿論Trainingにもメモリアクセスは必要で、しかもInferenceよりも煩雑かつ集中的なアクセスになるから、L3容量がモノを言いそうだ。High Precision MTでAlder Lake(30MB L3)とRyzen 5 5600X(32MB L3)の性能が同程度、というのは案外L3容量が大きなファクターになっているのかもしれない。その一方で1Tだと基本Intel系の方がやや有利である。勿論P-Coreの場合であれば、という話であるが。

RNN Inference(グラフ118)も傾向としてはCNN Inferenceに近いが、ただ特にHigh PrecisionにおけるRyzen 5000の性能の高さが特筆ものである。Normal MTでもRyzen 5 5600Xが120.09 samples/sと、Core i5-12600KはおろかCore i9-11900Kすら大幅に上回る性能なあたりは、アーキテクチャ的な向き不向きがある事を示していると思われる。1Tの場合もこの傾向は変わっていない。

これがもっと極端な形で出てくるのがRNN Training(グラフ119)で、MTだとなんとかAlder Lakeが有利な結果になっているが、High Precision MTだとCore i5-12600KとCore i9-12900Kの性能が変わらないというのも合点がいかない。ただもっと合点がいかないのはNormal 1TにおけるCore i9-12900Kのスコアの低さで、E-Coreで動いていてもここまで性能が下がることは考えにくい。ここまで低いと、例えば処理の途中で稼働するThreadがP-CoreとE-Coreの間で煩雑に切り替わっているとか、そういった理由しか思いつかないのだが、現実問題としてそんなことがありえるのか? というのは疑問点として残らざるを得ない。

グラフ120


グラフ121


Processor Testの最後はImage Processing(グラフ120〜121)である。こちらもスコアが2桁違うので、対数軸とさせていただいている。まずMT(グラフ120)だが、少なくともMTに関して言えばCore i9-12900Kはかなり良好な性能(勿論Noise ReductionとかMotion Blurの様に、一部Rocket Lakeより下がっているものもある)を示している。その一方でCore i5-12600KはCore i5-11600Kよりスコアがさがっているのが殆ど(Diffusionのみ、辛うじて上回っている)というちょっと不思議な傾向である。対Ryzen 5000シリーズという観点では、Ryzen 5 5600Xは勿論勝負にならず、Ryzen 9 5950Xも殆どのケースでCore i9-12900Kに及んでいないから、ここでの性能差はまぁ明確として良いだろう。この、対Ryzen 5000シリーズとの関係は1T(グラフ121)でも同じであり、それはいいのだが、1Tだとすべての結果がRocket Lakeを下回っているというのはどういうことか? そしてCore i9-12900Kのスコアが全部Core i5-12600Kの半分以下(Marblingなど1/4)というのは、多分こちらはE-Coreを利用しての結果になっていると思うのだが、P-Coreを使っていると思われるCore i5-12600KでもRocket Lakeに追いつかないのは解せないところである。

グラフ122


グラフ123


グラフ124


グラフ125


次はInter-Thread Efficiency(グラフ122〜127)である。以前はInter-Core Efficiencyという名前であったテストだ。まずはInter-Core Bandwidth(グラフ122・123)である。こちらは要するにThread同士の通信の帯域で、Best(グラフ122)は同じコア内のThread同士、Worst(グラフ123)は異なるコア/モジュールのThread同士の通信帯域となる。BestでRyzen 9 5950XとAlder Lakeはどちらも800GB/secほどのピーク帯域を発揮するが、Alder Lakeは16KB程度、Ryzenは256KBあたりがそれぞれピークになっている、というのは非常に興味深い。またピークそのものはAlder LakeよりもRocket Lakeの方が上、というのはやはりHybrid Architectureになって少しLatencyが増えているのではないか? という気がする。L3の容量そのものも増えているから、これによるLatency増加も(1〜2ns程度ではあろうが)考えられるだろう。

一方のWorst(グラフ123)、Ryzen 9 5950Xはダイ間通信が発生している関係で帯域は猛烈に低くなる。その一方で1ダイ内で完結するRyzen 5 5600Xは、特にL3が効く1MB〜4MBの範囲での帯域の持ち上がり方が強烈である。これに続くのがL3を30MBに増量したAlder Lakeの2製品。Rocket LakeはL3がやや少ない事もあり、1MBはともかく4MBではやや帯域が下がるのは当然と言える。ただここでAlder LakeとRyzen 5 5600Xを比較すると、もう少しAlder Lakeの帯域が上がってもよさそう(少なくともRyzen 5 5600Xと同等程度は期待してもいい)なのに、その6割程度に落ち着いているのは、やはりこれもLatencyの影響が大きそうに思える。

ではそのLatencyは? ということでグラフ123・124がLatencyの平均値である。Inter-Threadは同一コア内のThread間、Inter-Coreは同一ダイ内の異なるコアのThread間、Inter-big/LITTLE Coreは同一ダイ内のP-CoreとE-CoreのThread間、Inter-Moduleは異なるダイ上のコア間の、それぞれのLatencyである。今回の場合、Inter-big/LITTLE CoreはAlder Lakeの2製品、Inter-ModuleはRyzen 9 5950Xのみがこれに該当する格好だ。ということでまずBestの数値を見ると、そもそもInter-ThreadでIntel系はRyzen 5000よりもややLatency大きめであるが、Alder Lakeで数字がバラつく理由は後述したい。またInter-Coreも、やはりRyzenの方が良好で、Alder LakeはRocket Lakeよりも更に3〜10nsほど増えている。そしてInter-big/LITTLE Coreは40ns台と、結構馬鹿にならないLatencyが掛かっている、同一ダイ内とはいえ、やはり異種コア同士の通信は余分に時間が掛かることになる事が明らかになった。ちょっと先のPhoto02に戻るが、P-CoreはLLCに対して直接アクセスが出来るが、E-Coreでは4コア単位でL2を共有するから、まずこのL2のアクセスに時間が掛かり(ほかの3コアとの同期を取るから)、そこからL3にアクセスとなるので、どうしてもLatency的には不利にならざるを得ない。

次にWorst(グラフ125)を見てみると、こちらも傾向は似ているが、概してAlder Lakeの数字がやや増えているのが判る。ここで先ほどのバラつきの話に戻るが、P-Core内だけでのInter-Thread LatencyはおそらくRyzenと同程度まで高速化されているように思える。ところがE-CoreのInter-Thread Latencyは、多分Rocket Lakeと大差ないレベルである。これはInter-Core Latencyも同じで、P-CoreだけならRocke Lakeレベルで収まるのが、E-Coreが混じる事でどうしても遅くなる。これに輪をかけているのが、E-Coreは4コアで一つのクラスタを構成している事だろう。

Armが初期のbig.LITTLEではbig側のProcessorとLITTLE側のProcessorをそれぞれ別々にクラスタリングしていたが、DynamIQではbig.LITTEを取り交ぜて8コアまでを一つのクラスタとして扱える様にしたのは、コア間の通信を行う際に、異なるクラスタを跨ぐ格好になるとどうしてもLatencyが削減できない事への対応も一つある。加えて言えば、big.LITTLEでは処理中にあるThreadをLITTLEコアからbigコアへ移したり、あるいはその逆にbigコアからLITTLEコアへ移したり、といった処理を行う事を想定しており、この際にプロセッサ側にL2を置いておくと、そのL2の中身の移動が大変になるという問題があった。このためDynamIQではプロセッサコアにはL1のみを置き、L2は全プロセッサコアで共有の形でInterconnect側に置くというトポロジーの変革を行った(このあたりの話はこちらの記事で以前説明している)が、それに比べると現在のAlder Lakeの構成はまだ無駄が多いことになる。この辺の話は考察でまた述べたいが、なんにせよHybrid Architectureを採用した事でLatencyが増えているのは紛れもない事実で、これが多少性能の足かせになっているのもまた事実であろう。

グラフ126


グラフ127


グラフ126・127はグラフ124・125をもう少しBreakdownして、Latencyの頻度を示したものだ。まずグラフ126がBestの場合である。Core i9-12900Kの場合、10nsあたりに一つのピークがある。これがP-CoreのInter-Thread Latency、その先の12nsあたりがE-Coreのものだろう。次のピークは32nsあたりで、これがInter-Core Latencyだが、実際には29〜37nsあたりの割と広い範囲の揺らぎがある。そして39ns〜51ns+55nsあたりの山(ピークは46nsあたり)がInter-big/LITTLE Core Latencyで、結構幅広いというか、揺らぎが大きいのが特徴だ。Core i5-12600Kでは動作周波数がやや低めになるためか、揺らぎは更に広い範囲に広がっている。このLatencyの揺らぎの大きさは、Rocket LakeやRyzen 5000シリーズに比べるとかなり大きめ、というのは見ての通りである。

Worst(グラフ127)でも傾向そのものは変わらない。強いて言えばCore i9-12900KだとInter-big/LITTLE Core Latencyは大差ないが、Inter-Core Latencyが微妙に増えて、山が少しだけ右に移動しているというあたりか。またCore i5-12600Kでは山のピークが少し変わっているのも特徴的だ。

このInter-Thread Efficiencyの一連の結果を見て思うのは、まだシステム的に熟していないというか、だいぶ改善の余地がありそうというあたりだろうか。必ずしもArmのbig.LITTLEと同じ動作をするわけではないから、現在のDynamIQと比較して優劣を語るのは意味が無いが、現状はちょっとまだ粗削りというかプリミティブな部分が目立つ結果となった。

グラフ128


Sandraの最後がVideo Memory Bandwidth(グラフ128)だが、要するにPCIeの帯域検証である。といっても現状まだPCIe Gen5に対応したビデオカードは存在しないので、あくまでもPCIe Gen4として動くかどうかの検証にしかならないのだが。

結果は見ての通りで、効率そのものは理論値(32GB/sec)の50〜62%程度だが、これはプラットフォームだけでなくビデオカード側の問題もあるためで、むしろこれだけ出れば十分というところ。いずれPCIe Gen5/CXL 1.1に対応したアクセラレータカードなどが登場したらまた改めて試すことになるだろうが、とりあえずAlder LakeでPCIe Gen4は問題なく動作する事が確認できた。

●消費電力測定 / 考察と総評

○◆消費電力測定(グラフ129〜139)

さて最後のテストは消費電力測定である。実は今回、「Intel 7」を利用した初製品という事もあるので、色々細かくデータを取りたかったのだが、BIOS Setupでの操作に色々制約がある(すぐにフリーズしてブートしなくなる:CMOSリセットで元に戻るので致命的ではないのだが)ということで、標準状態でのテストのみとなっている。またP-Coreのみ/E-Coreのみでの消費電力測定も、そんなわけで行えていない。

ということでまずグラフ129がSandraのDhrystone/Whetstone実施中、グラフ130がCineBench R23(All CPUとOne CPUの両方)、グラフ131がProcyon 2.0のOffice Productivity、グラフ132が(これはIntel系だけだが)LinpackでSize/LDA=60000の実施、グラフ133がTMPGEnc Vide Mastering Works 7で4streamのX.265エンコードの最初の240秒、グラフ134が3DMark FireStrike、グラフ135がF1 2021の2Kでのベンチマーク、グラフ136がMetro Exodus Enhanced Editionの、やはり2Kでのベンチマークの実効消費電力変動を示したものである。グラフ137がそれぞれの平均消費電力(と一部ピーク時消費電力)、それと待機時の消費電力をまとめたもの、グラフ138が個々の消費電力と待機時との差をまとめたものである。

グラフ129


グラフ130


グラフ131


グラフ132


グラフ133


グラフ134


グラフ135


グラフ136


グラフ137


グラフ138


Dhrystone/Whetstone、なぜかAlder Lakeの2製品ではベンチマーク中に4回ほど消費電力が下がるタイミングがあるので、平均値はそこを外す形で計測しているが、とりあえずピークで360W近く、平均でもDhrystoneで311W、Whetstoneで282Wと飛びぬけて多い。さすがPL1tauが条件次第では∞に続くだけのことはある。Rocket Lakeの時も随分大きいと思ったが、Core i9-12900Kはこれを余裕で上回っている。これはCineBenchもそうで、All CPUの場合、353.4W。Ryzen 9 5950Xの234.3Wはもとより、Core i9-11900Kの300.3Wと比べても十分に高い。あるいはProcyonにおけるピークの消費電力は345.6W。LINPACKでは379.9Wとなっており、GPU負荷が殆どない、CPUだけを高負荷で利用するようなシーンで、400W近い消費電力を覚悟する必要がある。GPUを抜きにして、CPUの利用だけで400W程度を想定しないといけないというのは、なかなかすさまじい数字である。

ただ、必ずしも「常に消費電力が高い」という訳ではない。例えばProcyonにしても、一連のシナリオを終わらせるまでの平均消費電力で言えば131.7Wで、むしろRyzen 5000シリーズよりむしろ少ない程度だ。あるいはCineBenchにしても、One CPUでの消費電力は124.3Wとそれほど高くない。

この傾向がもっと顕著なのは、GPUを使うシーンだ。3DMark FireStrike Demo、F1 2021、Metroの3つとも、Ryzen 9 5950Xの方がCore i9-12900Kを上回っている(その差は50W前後)から、Ryzen 5000シリーズの方が省電力とも単純には言いにくい。

要するに、CPUの負荷がそこそこのケースにおいては、Alder LakeはRocket Lakeよりも省電力に動く。Procyonの結果などその最たる例であり、スコアは他のどのCPUよりも高いのに、平均消費電力は134.1Wとかなり低い。つまり、負荷がそれほど掛からないような使い方をする限りにおいて、Alder Lakeは非常に優秀な性能/消費電力比を示す。その一方で、高負荷を掛けたときの消費電力は半端ない。そういう、ジキルとハイド的な二面性を持った製品と理解する必要がある。

実際、CineBenchの場合を例に、電力効率を計算してみたのが表2である。CineBenchのSingle CPU/Multi CPUのScoreとそれぞれの稼働中の平均消費電力/平均消費電力差から、Score/W(消費電力1WあたりのScore)を算出したものだ。当然数字が大きいほど良い訳であるが、実際にBest(水色枠)を示したのはMulti CPUだとRyzen 9 5950X、Single CPUだとAlder Lakeという格好になっており、例えば実効消費電力差でみるとCore i9-12900Kの効率はRyzen 9 5950Xの6割程度(95.45 vs 154.36)でしかない。ということは、Ryzen 9 5950Xと同じスコアを出そうとすると、必要な電力は1.62倍近くに増える事になる。それは消費電力が増える訳である。

■表2


実はこの特性、Intelの資料にもそれとなく記されている。こちらのスライドだが、250W動作のCore i9-11900Kと65WのCore i9-12900Kが同等の性能であり、125Wに増やすと30%アップ、241Wに増やすと50%アップとされる。ということは65WにおけるCore i9-12900Kの性能/消費電力比を1とした場合、125W動作だと効率は0.676、241W動作だと効率は0.405まで落ちる計算になる。勿論アーキテクチャ側の問題もあるにせよ、Intel 7はまるで登場した直後の14nmプロセスによく似ている気がしてならない。つまり低めの消費電力(≒低めの動作周波数)で使う分には非常に良い特性だが、ちょっとそこから消費電力を上げていってもなかなか性能が上がらない(というか、動作周波数をちょっと上げると、急速に消費電力が増える)というキャラクタだ。

この特性をグラフにプロットすると、グラフ139の様になる。破線は近似曲線だし、サンプル数が少ないからあくまでも目安でしかないが、できれば100W位に消費電力を絞って使う方が幸せになれそうな気がする。

グラフ139


○考察と総評 - 性能はかなり良い、しかし課題も少し

取り急ぎAlder Lakeの2製品の評価をお届けした。確かに性能は悪くないというか、かなり良いと思う。

Core i9-12900Kはさておきとしても、Core i5-12600Kは恐ろしく魅力的な製品になっている。Core i5-11600Kを大幅に上回る性能で、それでありながら消費電力は殆どのケースでCore i5-11600Kと同等とそれ以下である。競合製品であるRyzen 5 5600Xを圧倒的にしのぐ性能になっており、逆にRyzen 5 5600Xの競争力低下が心配になるレベルである。

Core i5-12600Kの優秀さの理由の一つは、TDPこそ125W枠ながら、PL2が150Wと低めに抑えられており、それもあって無理に性能を引き出すべく消費電力を増やしたりしないため、性能/消費電力比が比較的良いバランスに収まっていることだろう。先の表2で見ても、実効消費電力絶対値ベースではMulti CPUで2番手、実効消費電力差ベースでもSingle CPUでトップ、Multi CPUで3番手に着けている。秋葉原での予想価格も39,000円前後だそうで、お求めやすい価格に収まっている。非常に魅力的と言わざるを得ない。

これと比べてしまうとCore i9-12900Kは負荷が低い時には悪くないのだが、負荷が高くなると途端に燃費の悪いプロセッサに化ける感じがある。そんな訳で、現実問題として定格で運用する限りの最低でも240mm、現実的には360mmラジエタークラスの簡易水冷クーラーで常用する方が良いだろう。絶対性能は悪くないだけに、「PL2をもっと下げられれば魅力的な製品になるだろうに」と、個人的にはちょっと惜しいという気持ちになった。

加えると、それこそCineBenchやPOV-Ray、PCMark 10/Procyonなどの"ほぼCPU性能で決まる"シチュエーションではきちんとその性能の高さが確認できたが、3DMarkや殆どのゲームでは、Intelの説明(例えばこれ)に反して、その性能を確認できなかった。いや別に性能が低いということはないのだが、高くもなかったとしか言いようもない。

そしてAlder Lakeの扱いを現時点で難しくしているのは、まだHybrid Architectureの実装が粗削りな部分が見える事だ。これはCPU側とOS側、両方の問題である。そもそもAlder Lakeの場合、「あるThreadを強制的にP-CoreなりE-Coreで動かす」事を外部から直接制御する仕組みはない。Task ManagerのProcessor Affinityの設定を使って、「E-CoreなりP-Coreに一切割り当てない」という間接的な制御は可能だが、直接的な設定は不可能である。

実はこのあたり、冒頭のPhoto02のキャプションで触れた"Game Dev Guide for Alder Lake Performance Hybrid Architecture"に記されているのだが、これはゲーム開発者向けに、どんな風にThreadから制御を行うべきかをまとめた文章である。この中で、ソフトウェア側から明示的にThreadをどちらのプロセッサで動かすかを支持するための「ヒント」として提供されるAPIとして

SetThreadPriority(スレッドの優先度の設定:THREAD_MODE_BACKGROUND_BEGIN/THREAD_MODE_BACKGROUND_END/THREAD_PRIORITY_ABOVE_NORMAL/THREAD_PRIORITY_HIGHEST/THREAD_PRIORITY_TIME_CRITICALREALTIME_PRIORITY_CLASS)

SetThreadInformation(メモリ及び消費電力の優先度に関する設定)

SetThreadSelectedCPUSets(利用したいコアの指定)

が提供されているとするが、ただAlder LakeのThread DirectorはこのAPIで指示された設定を「参考にしながら」、どのThreadをどのコアのThread poolに登録するかを決定するので、必ずしも指定されたThread poolに登録されるという保証は(少なくとも今のところは)無い様だ。そしてこれらの指定が無い場合、Threadの振る舞いをThread Directorが適当に推定して割り振る格好だが、この推定が必ずしも正確とは限らない、というのはSandraのProcessor Testで特に1Tの場合にCore i9-12900KがE-Coreばかり割り当てられている様に見える事を見ればわかりやすい。

話が厄介なのは、big.LITTLEの場合は「あるThreadの負荷が上がったら、それがLITTLEコアで動作している場合には途中からbigコアにThreadを移し替える」「あるThreadの負荷が下がったら、それがbigコアで動作している場合には途中からLITTLEコアにThreadを移し替える」という処理があるので、仮に最初のThreadのコアへの割り当てが不適切だった場合、途中からこれがダイナミックに是正できるが、現時点でのThread Directorの説明を聞いている限り、少なくともダイナミックにP-CoreとE-Coreの間をThreadが行き来するというよりは、ThreadがIdleあるいはInactiveになって、そこから再び活動を始めるときに割り当てを変える、という形になっている様に聞こえる。煩雑にActive/Idleを繰り返すThreadであればこれでもいいのだろうが、SandraのBenchmarkの様に一連の処理が終わるまで走り続けるThreadには今一つそぐわない気がする。

この辺りがちゃんと動くようになるためには、アプリケーションがこうしたThreadの設定を持たないといけないのだが、それにはまだ時間が掛かるだろう。ちなみにArmがbig.LITTLEを発表した時に、Android上で動くアプリケーションにもやはり同じ問題が発生しており、これはアプリケーションが長い時間をかけてbig.LITTLE対応を進めていったことで解決している。Armの場合、殆どのMobile向けSoCが一斉にbig.LITTLE対応に走ったからアプリケーション開発者としても早期に対応する動機付けがあった訳だが、さてx64の世界ではどの程度かかるだろう?

という訳で、現状のAlder Lake、特にCore i9-12900Kはまだ色々とこなれてない部分が目立つのは事実だ。Golden Coveコアの性能の高さは認められるが、Hybrid Architectureに起因する実装の不備とか、PL2駆動時の性能/消費電力比の悪さなどはちょっとネガティブなポイントである。さらに今回はプラットフォームが丸ごと刷新になったので、CPUだけでなくマザーボードとCPUクーラー、場合によってはメモリも買い替えることが必要になる。昨今のパーツ不足と相まって、フルセットの入手にはそれなりのコストが掛かる訳で、場合によっては「こんなに出費したのに、性能差があまり感じられない」なんてケースもあり得る。その意味でも、今回は軽いアップグレードと思うのではなく、色々覚悟をして臨む必要があるだろう。