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

昨年のCOMPUTEXでその存在が発され、今年のCESでは具体的に製品構成も紹介されたRyzen 7 5800X3Dであるが、やっとその実機を評価する事が可能になったので、色々不明だった点も含めてまとめてご紹介しつつ、評価結果をお届けしたい。

今回評価するのは「Ryzen 7 5800X3D」

○分子間力で64MB Cacheを積層

さて簡単なおさらい。Ryzen 7 5800X3Dは、既存のZen 3のダイ(81平方mm)の上に、64MBのL3 SRAMダイ(41平方mm)を積層する形で実装される。これはTSMCのSoIC-F2Fを利用して製造される形で、実は既存のZen 3は当初からこのL3 SRAMを積層するために必要なTSVが実装されていた。なので、後追いでL3 SRAMを搭載するだけで3D V-Cache搭載Zen 3が出来上がるという寸法だ(Photo01)。ちなみに回路的にどう繋ぐか、という話は今年のISSCCで発表されているので、また折を見てご紹介したい(今回は時間の関係でそこまで言及していると間に合わなくなるので割愛させていただく)。それはともかくとして、ISSCCでも発表されなかったのは、物理的にどう2つのダイを繋ぐか、である。同社はこの接続をHybrid Bondと呼んでおり、TSMCはSoIC Bondと呼んでいる技法だが(Photo02)、MicroBumpなどと接続方法が異なるという以上の話が無かった。ところが3月29日に同社のYouTubeの公式チャネルにおいて、この辺りの仕組みを同社のRobert Hallock氏が説明した。10分ほどの短い動画であるが、この4分40秒あたりから接続方法の説明があり、分子間力を使っての接続である、という事が公式に明らかにされた。

Photo01: このあたりの数字は既にあちこちで公表済。

Photo02: なので後述の様に、この銅の接触面を極めて平滑に仕上げてそのまま張り付ける格好と思われる。

分子間力を使って3D Stackingの接続を行うという技法そのものは以前からも研究されている。要するに接触面を「極めて」平滑にすると、分子間力で2つの接点が堅固に接続されるという仕組みである。ちょっと古い話だが2016年の安藤先生の記事でも、タングステンのVIAの両端にアルミの電極を付けて、分子間力で上下の接続を行う技法が紹介されている。とは言え商用製品ではこれが最初の実用例である。なるほど、熱などの影響で材料に歪が出た場合には、この方式だと接触が切れてしまう可能性がある訳で、動作周波数をやや下げると共にOCを無効化したのも無理ないところである。

ちなみにOCであるが、厳密に言えばXモデルらしくOC動作は可能である。ただしその対象はMemoryとInfinityFabricの速度のみであり、CPUコアの動作周波数に関してはOC対象外である。

さてこのRyzen 7 5800X3D、米国での推奨小売価格は$449で4月20日から発売開始とされていたが(Photo03)、日本においては4月22日(金)の午前11時に発売開始で、日本における販売価格は\65,300(税込)との事である。原稿執筆時点におけるRyzen 7 5800Xの日本Amazonの価格は\45,930であるが、2020年11月に筆者が購入した時には\69,800だったことを考えれば、それほど高いとは言えない価格である。

Photo03: この辺の数字も既に紹介済。

なお対応マザーボードであるが、基本的にはRyzen 5000シリーズに対応しているマザーボードで、AGESA 1.2.0.6b以降のBIOSを搭載していれば問題なく利用できるとする(Photo04)。実際、今回利用したASRock X570 Pro4の最新BIOSはAGESA 1.2.0.6b対応のVersion 4.30だったが、問題なく認識した(Photo05)。

Photo04: AMDの発表によれば、そろそろマザーボードベンダーよりAGESA 1.2.0.7対応のBIOS配布が始まる筈だ。

Photo05: BIOS Setup画面より。右上にRyzen 7 5800X3Dと表示され、中段にTotal L3が96MBと表示されていた。

○評価機材

ということでいよいよお待ちかねのベンチマーク編。まずパッケージだが、右上の"RAMD 3D V-Cache Technology"のロゴ以外は普通のRyzen 7 5000シリーズである(Photo06)。このロゴは上面からも確認できる(Photo07)。パッケージにはこのブリスターパックと、後は説明書が入っているだけなのは従来に同じ(Photo08)。チップそのものはAM4対応CPUという感じで、ロゴとOPN以外には特に差は見られない(Photo09)。

Photo06: 逆に言えば違いはそれだけ。ただ内部は、従来が紙ベースでスペースを埋めていたのに対し、プラスチックベースになっていた。

Photo07: 外観の違いは逆にいえばそれだけ。

Photo08: そういえば付属のシールに"5000 Series"が追加されている事に今回気が付いた。

Photo09: 製造が昨年になっている。

CPU-Zでの認識結果はこんな感じ(Photo10)。以前Ryzen 7 5800Xを評価した時のものと比べると

Steppingが0→2に

RevisionがB0→VRM-B2に

それぞれ変化している。Revisionの方は3D V-Cacheの搭載が関係していそうだが、Steppingの0→2の変化で何が変わったのかちょっと興味ある。勿論Windowsからは正常に認識された(Photo11)。

Photo10: L3が16Wayという辺りが面白い。つまり追加された64MBも、元々の32MBの延長で管理している形になるからだ。

Photo11: 当然8コア/16スレッドと認識される。

今回の評価環境は表1に示す通りだ。比較対象は、3D V-CacheなしのRyzen 9 5800Xと、それとAMDがRyzen 7 5800Xを"World's First Gaming Desktop Processor"としてCore i9-12900Kと比較しても十分高速、と示している(Photo12)ことから、Core i9-12900Kも用意した。

Photo12: 脚注を見ると「全てのテストは1920×1080pixelで実施した」とされているあたりがミソ。

グラフ中の表記は

R7 5800X:Ryzen 7 5800X

R7 5800X3D:Ryzen 7 5800X3D

i9-12900K:Core i9-12900K

となっている。また本文中の解像度表記は、いつものように

2K :1920×1080pixel

2.5K:2560×1440pixel

3K :3200×1800pixel

4K :3840×2160pixel

とさせていただいた。

○◆PCMark 10 v2.1.2535(グラフ1〜6)

PCMark 10 v2.1.2535

UL Benchmarks

https://benchmarks.ul.com/pcmark10

グラフ1

まずはスタンダードなところでこちらを。グラフ1がOverallだが、正直言ってこの程度のアプリケーションでは96MBのL3のメリットはほぼ感じられないようだ。Ryzen 7 5800X3DはRyzen 7 5800Xと比べても若干ながら動作周波数が下がっており、これがそのままスコアに素直に反映されている格好。勿論コア数が遥かに多いCore i9-12900Kの方がスコアが上なのは当然の事である。

グラフ2

グラフ3

グラフ4

グラフ5

グラフ6

Test Group(グラフ2)で見ると、やはりどのテストでもあまり96MB L3のメリットが見えてこない。Test Group毎の結果(グラフ3〜5)で見ると、グラフ4のSpreadsheetsのみ、Ryzen 7 5800X3DがRyzen 7 5800Xを上回っているが、確かにこういう数値計算以外ではメリットを感じるのは難しそうだ。これはOffice 365を使ってのテスト(グラフ6)も同じである。

○◆Procyon v2.0.399(グラフ7〜10)

Procyon v2.0.399

UL Benchmarks

https://benchmarks.ul.com/procyon

グラフ7

次はProcyonの結果を。Overall(グラフ7)で見ると、Photo EditingではRyzen 7 5800X3DがRyzen 7 5800Xを上回る結果だが、あとは概ね同じというか、そう変わらないというか。

グラフ8

グラフ9

グラフ10

ただOffice Productivity(グラフ8)では、ExcelとOutlookではRyzen 7 5800X3Dの方がRyzen 7 5800Xよりもスコアが上で、またWord/Powerpointでも動作周波数の比ほど性能差が無いあたりは、ある程度処理が重くなるとメモリを利用する量が増え、そうなると96MB L3の効果が出て来ていると考えられる。またPhoto Editing(グラフ9)に関して言えば、実際に生の結果(表2)見ると何か一つが高速化、というよりは全体的に高速化している格好である。ちなみにこの数値は各々の処理に要する所要時間で、なので小さいほど高速である。つまりRyzen 7 5800X3Dは、Core i9-12900Kにはやや及ばない(流石にDDR5は高速だ)ものの、Ryzen 7 5800Xよりは性能を確実に向上できている事が見て取れる。

ただし、L3を増量しただけでなんでも高速化できるわけでもない、と言うのがグラフ10の結果であって、こちらはH.264/H.265の動画をAdobe Premier ProでExportする際の所要時間(なので数値が小さいほど高速)だが、もう御覧の通り動作周波数とコアの数で決まってる感じで、残念ながら96MB L3の効果は全く見られないとしても良い。まぁアプリケーションを選ぶ、というのはその通りだと思う。

○◆CineBench R23(グラフ11)◆POV-Ray V3.7.1 Beta9(グラフ12)◆TMPGEnc Video Mastering Works 7 V7.0.19.21(グラフ13)

CineBench R23

Maxon

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

POV-Ray V3.7.1 Beta9

Persistence of Vision Raytracer Pty. Ltd

http://www.povray.org/

TMPGEnc Video Mastering Works 7 V7.0.19.21

ペガシス

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

グラフ11

グラフ12

グラフ13

こちらもおなじみのものだが、あまりに傾向が一緒なのでもうまとめてご紹介。とにかくこれらはコアの数と動作周波数に比例する傾向があり、逆に言えばL3を増量しても理屈的に効果が薄い。そして実際に効果は殆ど見られないでいる。もっとも正確に言えば効果が無いわけではなく、意外にも割とL3が大きな役割を果たしていた事が後で判るのだが、この話は後ほど。ただ性能に着目する限りにおいては、96MB L3の効果は非常に薄いと言わざるを得ない。

○◆3DMark v2.22.7336(グラフ14〜17)

3DMark v2.22.7336

UL Benchmarks

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

グラフ14

では3Dだとどの程度効果があるのか? ということでまずは3DMarkを。グラフ14がOverallだが、もう御覧の通りに「差が無い」。強いて言えばNightRaidなど、Ryzen 7 5800X3Dの結果はRyzen 7 5800Xと比べても結構激しく落ち込んでいる。勿論このテストではCPU性能よりもGPU性能が支配的だから、GPUが一緒なら本来はそう大きな差にならない筈だが、GPU負荷の低いWildLifeとかNightRaidで大差がついてるのは、そのままCPU性能の差ということになる。

グラフ15

グラフ16

グラフ17

もう少し見てみると、Graphics Test(グラフ15)でも傾向がほぼ同じ(ただしWildLifeとNightRaid以外はほぼフラット)というあたりは、もう純粋に、特にNightRaidはAMDと相性が悪いというべきなのか。もっともPhysics/CPU Test(グラフ16)でも96MB L3の効用は見えないし、Core i9-12900Kとの性能差も大きい。Combined Test(グラフ17)で、FireStrike ExtremeやFireStrike Ultraだと差が無くなるのは、GPU負荷が高すぎでCPUの性能差が殆ど見えなくなっている、と考えるのが妥当だろう。

●ゲームその1:Borderlands 3 / F1 2021 / Far Cry 6 / Metro Exodus

○◆Borderlands 3(グラフ18〜24)

Borderlands 3

2K Games

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

では実際のゲームではどうだろうか? まずはBorderland 3、設定方法はこちらのBorderland 3の項目に準ずる。全体的な品質は「ウルトラ」である。

グラフ18

グラフ19

グラフ20

グラフ21

グラフ22

グラフ23

グラフ24

結果(グラフ18〜20)を見ると、2K〜2.5KでなぜかRyzen 7 5800Xのみちょっと芳しくない結果になっているが、逆に3K以上は最速だったりするあたりは、純粋にCPU性能が足りていないということだろうか? それはともかく気になるRyzen 7 5800X3DとCore i9-12900Kの比較であるが、平均フレームレートでは全解像度でほぼ一緒。最大フレームレートでは若干上回っているが、大きな差は無い。実際フレームレート変動(グラフ21〜24)を見ると、ほぼ2つのグラフが綺麗に重なっている格好で、少なくとも優劣は無いというか、Ryzen 7 5800X3DとCore i9-12900Kが同等、として良いかと思う。

○◆F1 2021(グラフ25〜31)

F1 2021

EA Sports

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

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

Anisotropic Filtering: 16x

Anti-Aliasing: TAA Only

Detail Preset: Ultra

DXR: Medium

としている。

グラフ25

グラフ26

グラフ27

グラフ28

グラフ29

グラフ30

グラフ31

さて、結果(グラフ25〜27)を見るに、2.5K以上ではもう殆ど性能差が見られない。要するにGPU側がボトルネックという話である。ではその2Kは? という話であるが、フレームレート変動(グラフ28)を見ると、かなりRyzen 7 5800X3DとCore i9-12900Kが拮抗した結果になってはいるものの、40〜80秒あたりでは明確にRyzen 7 5800X3Dが上回る結果になっており、「2Kに限れば」確かにRyzen 7 5800X3Dが最速という結果になっている。

○◆Far Cry 6(グラフ32〜38)

Far Cry 6

Ubisofy Entertainment

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

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

Quality: High

Antialias: TAA

DXR Reflections/Shadows On

としている。

グラフ32

グラフ33

グラフ34

グラフ35

グラフ36

グラフ37

グラフ38

さて結果(グラフ32〜34)を見るとこれまでと逆に、むしろRyzen 7 5800X3Dが一番性能が低い事になってしまっている。といってもその性能差が明確なのは2.5K位までで、3K以上ではGPUがボトルネックになるためか性能差は殆どなくなってゆくのだが、ちょっと不思議な話である。ついでに言えば、フレームレート変動の2K(グラフ35)を見ると、むしろRyzen 7 5800XがCore i9-12900Kを明確に上回っているとしても良い結果になっており、一方Ryzen 7 5800X3Dは明確にかなり低い100fpsあたりを推移しているのも不思議である。ただこの傾向は2.5K(グラフ36)でも差は少ないながらも同じであり、明確にCPUに起因する何かがある、と判断される。

○◆Metro Exodus PC:Enhanced Edition(グラフ39〜45)

Metro Exodus PC:Enhanced Edition

4A Games

https://www.metrothegame.com/

ベンチマーク方法はこちらのMetro Exodus Enhanced Editionの項に準じる。設定はUltraのプリセットをそのまま利用した。

グラフ39

グラフ40

グラフ41

グラフ42

グラフ43

グラフ44

グラフ45

さてまず結果(グラフ39〜41)を見ると、殆ど性能差が無い、という感じだ。強いて言えばフレームレート変動の2K(グラフ42)では、Core i9-12900Kと比べてRyzen 7 5800X3Dのフレームレートは微妙に上と言えなくもない(0〜20秒の間とか75〜95秒の間とか)が、逆に30〜70秒の間はCore i9-12900Kの方が上で、2Kの平均フレームレートが0.4fpsしか違わないあたりは、まぁ同じと見なして良いかと思う。2.5K〜4Kはもうフレームレート変動(グラフ43〜45)からも明らかな様に「変わらない」で済ませてよい範囲かと思う。

●ゲームその1:Tomb Raider / Division 2 / Watch Dogs

○◆Shadow of the Tomb Raider(グラフ46〜52)

Shadow of the Tomb Raider

SQUARE ENIX

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

設定方法はこちらに準じる。QualityはHighとした。

グラフ46

グラフ47

グラフ48

グラフ49

グラフ50

グラフ51

グラフ52

さてこの結果(グラフ46〜48)がちょっと極端である。とにかくRyzen 7 5800X3Dの2Kにおけるフレームレートが異常なほどに上振れしているのだ。Ryzen 7 5800X比で18.5%、Core i9-12900Kと比較しても11%程性能が向上しており、これに伴い最大フレームレートも100fps上乗せになっている。通常こうしたケースでは、一時的に処理がスタックする結果として、あるフレームが数百ms掛かって、その次のフレームが数msで終わるなんて形になるのだが、最小フレームレートまで他を凌駕する180fpsというのはちょっと尋常ではない。

結果から言えば、フレームレート変動の2K(グラフ49)で示されるように、75秒付近から急にフレームレートが高止まり(400fps近く)しており、これが平均フレームレートを引き上げる最大の要因である。逆に言えば75秒くらいまでの間に関しては、他のCPUとは大きく違わない。とはいっても、40秒付近の谷の落ち込みは他に比べてずっと高いし、スパイク状にフレームレートが落ちる気配もないあたりは、絶対的に性能が上がっていると考えて問題ないと思う。

ただしこれは2Kだけの話で、2.5K〜4K(グラフ50〜52)を見ると、性能差があるとは既に言えない状況である。恐らくもっとハイエンドのGPUを持ってくるか、あるいは描画品質を落とすなどすれば、2.5Kでも多少は性能差がでるかもしれないが、この傾向を見る限り3K以上で性能差を出すのは結構困難だろう。

○◆Tom Clancy's The Division 2(グラフ53〜59)

Tom Clancy's The Division 2

Ubisoft

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

設定方法はこちらの"Tom Clancy's The Division 2"に準ずる。QualityはUltraとした。

グラフ53

グラフ54

グラフ55

グラフ56

グラフ57

グラフ58

グラフ59

さて結果(グラフ53〜55)であるが、2Kの場合Ryzen 7 5800X3D vs Core i9-12900Kは215.5fps vs 210.3fpsということで確かにRyzen 7 5800X3Dの方が上ではあるのだが、その差は2.5%ということで大きいとは言い難い。Ryzen 7 5800Xからでも3.2%程度の向上で、性能差はあるが、これもそれほど大きいとは言えない。そして2.5K以降はもう完全に差が無しである。

実際フレームレート変動を見ると2K(グラフ56)は確かに差はあるものの、2.5K以降(グラフ57〜59)はもう綺麗に重なっており、もうここでの性能差は無いとして良い。

○◆Watch Dogs:Legion(グラフ60〜66)

Watch Dogs:Legion

Ubisoft

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

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

Quality: Very High

RT Reflection: Off

とした。

グラフ60

グラフ61

グラフ62

グラフ63

グラフ64

グラフ65

グラフ66

さてまず結果(グラフ60〜62)を見ると、2KではRyzen 7 5800X3DはCore i9-12900Kと互角なものの、それ以降だと結構なビハインドがある。とは言えRyzen 7 5800Xと比べると結構な性能向上は実現されており、これはこれで優秀ではあるのだが。

フレームレート(グラフ63〜66)からもこれは明らかで、2Kの場合はお互いにグラフが絡み合う感じになっていてまぁ互角であるが、2.5K以降は明確に分離している。これはちょっと珍しい傾向であって、何かしらWatch Dogs:Legionの内部の処理にIntelに最適化された部分があり、これがAMDの方ではボトルネックになっているのか、それともメモリアクセスが(96MB L3でもカバーできないほど)非常に多く、結果としてDDR5の威力で性能差が出たのか、どちらかではないかと思う。

●RMMT 1.1 / Sandra 20/21

○◆RMMT 1.1(グラフ67〜68)

RMMT 1.1

Rightmark.org

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

ここからもう少しCPU性能比較を行うが、その前にRMMTでメモリ帯域を確認してみた。ちなみに以前どこかで説明したが、現在はThreadあたり40MBのMemoryをAccessする構成で行っている。なので、2 ThreadまではL3でカバーされるが、その先はMemory Accessが実際に発生する事になる。

グラフ67

グラフ68

ということでまずグラフ67がReadであるが、2 Thread時には実に128GB/secもの帯域を利用できる事が判る。流石にThread数が増えると96MB程度のL3ではカバーしきれないからだいぶ帯域が落ちるが、それでも8Thread時にRyzen 7 5800Xが58GB/secそこそこなのに、96MB L3のRyzen 7 5800X3Dは75.5GB/secと5割程帯域が広くなっているのは、メモリアクセスを煩雑に行うアプリケーションでのL3の効用が大きい事を如実に示している。

これはWrite(グラフ68)も同じで、1 Threadで71.1GB/sec、2 Threadで104.7GB/secと普通にあり得ない帯域を利用できる状況になっている。こちらもThread数が増えるとそれなりに低下するが、それでも8 Threadで19.5GB/sec→25.9GB/secとそれなりに性能向上の効果は大きい。これをうまく利用できれば、相当性能が上がりそうな感じはあるが、逆に言えばこれに向けたアプリケーションの最適化は必須ともいえる。そうした配慮の無いCineBenchとかTMPGEnc、POV-Rayなどであまり性能向上が見られないのは、ある意味当然なのだろう。

○◆Sandra 20/21 2021.11.31.81 Tech Support(グラフ69〜106)

Sandra 20/21 2021.11.31.49 Tech Support

SiSoftware

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

グラフ69

グラフ70

グラフ71

グラフ72

では次にSandraの結果を見てみたいと思う。まずArithmetic BenchmarkということでDhrystone/Whetstone(グラフ69〜72)。MT+MC(全Thread利用)だと当然コア数の多いCore i9-12900Kが高速なのは当然で、グラフ69/71は別に不思議でも何でもない。一方で1Tにすると俄然AMD系が有利ではある。もっとも.NETだとそれほどでもないのだが。あと、Ryzen 7 5800XとRyzen 7 5800X3Dはほぼ動作周波数の比という感じで、これも妥当な結果だろう。

グラフ73

グラフ74

グラフ75

グラフ76

グラフ73〜76はCPU Multimedia(要するにマンデルブロ図形の計算)である。この4つのグラフでは、結果の桁が2桁異なるので、横軸は対数表示とさせていただいた。なのでグラフの長さではなく、それぞれのグラフに示した数字で判断していただきたい。それはともかくとして、傾向そのものはDhrystone/Whetstoneとまるで変わらず、である。

グラフ77

グラフ78

グラフ79

グラフ80

グラフ77〜80はProcessor CryptographyでAES-128/256のEncryption/DecryptionとHash処理である。やはりMT+MCだとCore i9-12900Kが高速だが、1Tにするとそうでもないのは先ほどまでと同じである。正直この処理ではメモリ性能がボトルネックになっているかと思ったのだが、Ryzen 7 5800X3Dの結果を見る限りはまだ命令ユニットの方(つまりAES命令の実行)の方がボトルネックになっている模様だ。これはHashingも同じで、特にSHA2-512とかではRyzen 7 5800X3Dが有利かと思いきや、そうでもなかったのはちょっと意外であった。

グラフ81

グラフ82

グラフ83

グラフ81〜83はFinancial Analyticsだが、ここも傾向は似ている。強いて言えば、Black-ScholesやMonte CarloではMC+MTだとCore i9-12900Kが有利なのに、Binomialだとそうでもないという事だろうか。ただRyzen 7 5800XとRyzen 7 5800X3Dの傾向は変わらないままである。

グラフ84

グラフ85

グラフ86

少し変化が見えるのがScientific Analysis(グラフ84〜86)。GEMM(グラフ84)ではRyzen 7 5800X3Dの性能がかなり伸びており、SGEMMではCore i9-12900Kに肉薄、DGEMMでは追い抜いている。またグラフ85のFFTでも、Single/Double共にMT+MCだとRyzen 7 5800Xよりもやや低い処理性能が、1Tだと僅かに勝っている辺りは、つまりMT+MCだとL3が溢れてしまうということだろう。FFTの場合はバタフライ演算で行列の転置が発生するから、相当考えないとここで猛烈なメモリアクセス(それもランダムアクセス)が発生する。なので96MBものL3が効果的というのは納得できる話である。グラフ86のN-Bodyでは、もうそもそもL3に収まりきらないものと思われる。

グラフ87

グラフ88

グラフ89

グラフ90

次がProcessor Neural Networks(AI/ML)(グラフ87〜90)だが、これは面白い結果になった。まずCNNのInference(グラフ87)で、Single MC+MTはそれほど効果が無いのだが、Double MC+MTにするといきなり処理性能がRyzen 7 5800X比で3倍近くに跳ね上がるのが判る。もっと極端なのがCNN Training(グラフ88)で、Single MC+MTではほぼCore i9-12900K並み、Double MC+MTではCore i9-12900Kの倍以上、Ryzen 7 5800X比では10倍近くになる。CNNの場合はとにかくメモリアクセスが無茶苦茶多い(Trainingはこれがさらに極端)事を考えると、96MB L3の威力が判ろうというものだ。この傾向はRNN(グラフ89・90)も同じで、つまりGamingでなくてもアプリケーションを選べば96MB L3は恐ろしく有力な性能向上手段であることがここから伺える。

グラフ91

グラフ92

もっとも実際には、こうした効果が殆ど得られない事の方が多い。次のImage Processing(グラフ91・92)もそれである。こちらも結果が2桁ばらける関係で、横軸は対数軸とさせていただいた。こちらもメモリ利用量が多そうな作業であるが、MT+MC(グラフ91)で多少なりともRyzen 7 5800Xより性能が向上したのはDiffusionのみ。それも1T(グラフ92)では効果が見えないあたり、「1Tだと元々の32MB L3で収まる程度のワークロードだが、MT+MCだと溢れるものの、96MB L3なら収まる」という、割と微妙な負荷だったものと推測できる。

グラフ93

グラフ94

グラフ95

グラフ96

さて、ここからはキャッシュ及びメモリサブシステム周りを。まずグラフ93・94がInter-Thread Latencyで、こちらはBest/Worst共にそれほど数字は変わらない。意外に大きいのがCore i9-12900Kというのはともかくとして、Ryzen 7 5800XとRyzen 7 5800X3Dを比較すると、Inter-Core、つまりL3を跨ぐ形でのアクセスのLatencyが2.1nsほど増えている事が判る。Ryzen 7 5800X3DのBase Frequencyが3.4GHzである事を考えると、7cycleほどLatencyが増えている計算になる(Boost Frequencyの4.5GHzだとすると9.5cycleほどに悪化する)。この数値は平均値なので、これがそのままL3のLatencyの増分という訳では無いが、まぁ若干遅くなっているのは間違いない。ただその一方で、Inter-Thread Bandwidth(グラフ95・96)を比較すると、4×1MBの場合のケースが

と倍増に近い上乗せが確認できるあたり、損得勘定は難しいところだ。

グラフ97

グラフ98

グラフ97・98はStreamと、Cache & Memory Bandwidth(グラフ99・100の結果における256MB〜4GBでの平均をまとめたものだが、ことStreamに関してはInteger/Float共に96MB L3の効果は殆ど見られない。その一方でCache & Memory Bandwidthの256MB〜4GBの平均ではMT+MC/1Tの両方でそれなりに上乗せがみられるのは、やはりプログラムの構成次第という部分があるのだろう。

グラフ99

グラフ100

そのCache & Memory Bandwidth(グラフ99・100)を見てみると、64MBにおける性能が大幅に向上しているあたりがRyzen 7 5800X3Dの最大のメリットであり、それ以外の部分は動作周波数に比例した感じでRyzen 7 5800Xをやや下回るというのは、まぁ仕方がない部分だろう。

グラフ101

グラフ102

グラフ103

最後に気になるLatencyについて。グラフ101〜103がGlobal Data Memory、104〜106がInst/Code Memoryである。まずGlobal Data Memoryで言えば、Sequential Access(グラフ101)ではPrefetchがバッチリ効いているためか、L3のLatencyは全く変わらないが、In-Page Random/Random(グラフ102・103)では、Ryzen 7 5800X3DがL3領域で概ね4〜5cycleのLatency増加がみられる。

グラフ104

グラフ105

グラフ106

ついでInst/Code Memoryだが、こちらではSequential(グラフ104)とIn-Page Random(グラフ105)も1cycle、Full-Random(グラフ106)では2〜11cycleと結構幅がある。興味深いのは512KB(L2の範囲)で既に6cycleの増加があるのに、1MBでは逆に9cycleの減少となっていることだ。また64MBにおけるFull RandomのLatencyは、Global Dataの場合は78cycleなのにInst/Codeだと370cycleと結構大きい(とは言え、Ryzen 7 5800Xと比べると100cycle少ない)というあたりは、Global DataとInst/CodeはL2の先のPathが異なっており、このあたりがL3に出すリクエストの処理が異なっている事をしのばせる。まぁPrefetchの機構とかもあるので、単純に比較できるものでもないのだが。この辺は単にL3だけで議論しきれないのだが、逆に3D V-CacheでL3を増量した事のペナルティそのものは4cycle程度。これに加えて、Code/InstではPrefetcherに余分な処理が追加されることでもう少し変動する、という事になるかと思う。

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

○◆消費電力測定(グラフ107〜114)

最後に消費電力を比較してみたい。今回はSandra 2021のDhrystone/Whetstone(グラフ107)、CineBench All CPU(グラフ108)、CineBench Single CPU(グラフ109)、TMPGEnc Video Mastering Works 7(グラフ110)、3DMark FireStrike Demo(グラフ111)、Metro Exodus 2K(グラフ112)の6つを測定、それぞれの平均値をグラフ113、平均値とIdle状態の差をグラフ114にまとめてみた。

グラフ107

グラフ108

グラフ109

グラフ110

グラフ111

グラフ112

グラフ113

グラフ114

グラフを見るとまず明らかなのがCore i9-12900Kの消費電力の高さだが、これは別に今に始まった話ではないし、別に珍しくもない。よく見ると面白いというか興味深いのが、Ryzen 7 5800X3Dの消費電力の低さである。Metro Exodus(グラフ112)では、もうGPUの消費電力そのものが大きすぎて判り難いが、グラフ107〜111ではコンスタントに30W近い消費電力削減が実現できているのが判る。グラフ113を見ると、Ryzen 7 5800XとRyzen 7 5800X3Dの差は

と結構無視できない差があることが判る。これは主に、メモリアクセスが大幅に減ったことが要因であると思われるが、この結果として性能/消費電力効率が大幅に向上したのが、Ryzen 7 5800X3Dの大きなメリットである。例えばCineBenchでAll CPUで実施する際の消費電力量は

となっており、Ryzen 7 5800Xから1割程度削減できていることになる(まぁそれでもCore i9-12900Kには及ばないのだが。ただDDR4を使った場合、Core i9-12900Kがここまで優秀な数字になるかは要検証だろう)。

Idle時の消費電力との差を算出したグラフ114ではこれが顕著である。Dhrystone/Whetstoneをフルに動かしても110W程度。TMPGEncですら145W程度であり、明らかにRyzen 7 5800Xよりもバランスが良い。

2020年11月にRyzen 7 5800Xのレビューをした時に筆者は「面白いのはやはりRyzen 7 5800Xだろうか。ダイが一つにも関わらず、ほぼ105WというTDP枠を使い切っている事が判る。ということは、特に全コアをフル稼働させるシーンでは、Ryzen 9 5900Xよりも平均的に高い動作周波数で稼働しているものと想像される。にも拘わらず性能という意味ではRyzen 9 5900Xの方が上なのは、むしろ動作周波数を下げてコア数を増やした方が絶対性能という意味では上になるからだ。」と書いた。要するにRyzen 7 5800Xは消費電力が高めに設定されているのが惜しい、という話であるが、Ryzen 7 5800X3Dは結果的にメモリアクセスの消費電力を減らすことで、30W余りの省電力化に成功した。性能はそれほど落ちず、消費電力を減らせるというのはなかなか素晴らしい事ではないかと思う。

○考察と総評 - アプリ次第な面もあるが、電力効率の優秀さが光る

ということでざっくり評価させていただいた結果で言えば

CPU性能の向上はアプリケーション次第。最適化したアプリケーションでないと効果は薄い

省電力の効果が素晴らしい

という2点に集約される。

まず1つ目。一般的なアプリケーションでは、Excelの様な表計算ソフトで大規模なシートを処理するとか、あまりないと思うがCNN/RNNなどの推論処理、GEMMなどを使う科学技術計算などではその効果が期待できるが、逆に言えばそれ以外のアプリケーションでは期待しない方が良い。Photo12のキャプションに「脚注を見ると『全てのテストは1920×1080pixelで実施した』とされているあたりがミソ。」と書いたのは、AMDはGeForce RTX 3090を使って評価したにも関わらず、性能差が出るのは2Kだけという話であり、実際この傾向は今回も再確認できた。AMDとしてはやはり性能を全面に押し出したかったのだろうが、詐欺とは言わないまでも誤解を最大限に招きそうな表現であることは間違いない。正確に言えば「GPU性能が有り余っている環境でのみ、Ryzen 7 5800X3Dはその性能を発揮できる」というべきだっただろう(まぁこう書いたら誰も買わなそうな気もするので、難しいとは思うが)。

その一方で2つ目は素晴らしい。もし今Ryzen 7 5800XとRyzen 7 5800X3Dのどちらを買うか迷ってるなら、筆者としてはこの省電力効果だけでRyzen 7 5800X3Dを強く推したい。ぶっちゃけると、なんせRyzen 7 5700Xよりも消費電力が少ないのだ。それでいてRyzen 7 5800X並みの性能が出せるときたものだ。これをお買い得と言わずして何をお買い得と言おう。今年の夏も電力制限があるとかの話がある中、Ryzen 7 5800Xより2万円余分に払う価値があるか? と言われたら、筆者は「ある」と答える(まぁこれは個人的な見解なので、異論がある人が多いだろうとは思うが)。

惜しむらくは、アプリケーション最適化は今のところMilan-XベースのEPYCでは話があるが、Ryzen向けにそうした話が無い事だろうか? ただ未来はこうした3D積層SRAMを向いているだけに、アプリケーションの対応にも期待したいところではあるのだが。