製品紹介だけで性能評価を行う前に既に出荷が開始されてしまっているRyzen Threadripper 7000シリーズであるが、遅ればせながらその性能をお届けしたいと思う。

  • Ryzen Threadripper 7000シリーズを試す - 96コア「7995WX」は最強を更新するのか

評価環境

機材そのものは以前の記事そのままである。ちなみにASUSのPro WS TRX50-SAGE WIFI、UEFI Setup画面が古のAMIのBIOS Setup画面(Photo01)を髣髴させるものであった。勿論今さらBIOSというわけではなくUEFIベースなのだが、なんでこの画面なのだろう?

  • Photo01: 勿論マウスは使えないのでキーボード操作のみ。

それはさておき、Ryzen Threadripper 7980X/7970Xともに、きちんとWindowsからは認識された(Photo02~05)。

  • Photo02: Threadripper 7980X。一応Windows 11 Professional版なら64core/128threadは問題なく利用できる(Home版も可能な気はするのだが、確認していない)。

  • Photo03: なぜかTask Managerの表示は横17個。

  • Photo04: L3の数から、CCDは4つであると判る。

  • Photo05: 今度は横方向が19個。どうしたら横方向を16個にできるのだろう?

テスト環境は表1の通り。今回は対抗馬はRyzen 9 7950Xのみとした。まぁ比較対象としては手頃だろう。ちなみにRyzen 9 7950Xにも同じように32GB DIMMを用意したのだが、1 DIMM/chでないと動作しなかったため、今回Ryzen 9 7950Xはメモリ容量は64GBであり、Ryzen Threadripper 7970X/7980Xの128GBと差が出ている事に注意されたい。ちなみにどちらの環境もUEFI SetupのOverclock設定からMemory SpeedをDDR5-5200に設定した「だけ」(EXPO/XMPに基づく設定は行わず、電圧も定格の1.1Vのまま)だが、Ryzen 9 7950XではCL40、Ryzen Threadripper 7970X/7980XではCL42に設定された。

■表1
CPU Ryzen 9 7950X Ryzen Threadripper 7970X
Ryzen Threadripper 7980X
M/B ASUS TUF Gaming X670E-PLUS ASUS Pro WS TRX50-SAGE WIFI
BIOS Version 1813 Version 0217
Memory Corsair VENGEANCE DDR-5200 32GB×2
DDR5-5200 CL40
G.SKILL ZETA R5 NEO 32GB×4 RDIMM
DDR5-5200 CL42
Video ASUS TUF Gaming Radeon RX 7900 XT OC Edition 20GB
Radeon Software Adrenalin Edition 23.11.1
Storage Seagate FireCuda 520 512GB(M.2/PCIe 4.0 x4) (Boot)
WD WD20EARS 2TB(SATA 3.0)(Data)
OS Windows 11 Pro 日本語版 23H2 Build 22631.2715

ちなみにグラフ中の表記は

7950X:Ryzen 9 7950X
7970X :Ryzen Threadripper 7970X
7980X :Ryzen Threadripper 7980X

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

2K :1920×1080pixel
2.5K:2560×1440pixel
3K :3200×1800pixel
4K :3840×2160pixel

である。

◆Sandra 20/21 Build 31133(グラフ1~19)

Sandra 20/21 Build 31133
SiSoftware
https://www.sisoftware.co.uk/

「いきなりSandra?」と思われるかもしれないが、ぶっちゃけると一番まともに性能が出たのがSandraである。要するにSynthesis Testではそれなりの性能が出る(「理論性能」ではなく、あくまで「それなりの性能」である)から、まずはこちらをご覧いただきたいという話である。

ちなみにSandraは原則MT+MC(Multi-Thread+Multi-Core)/MC(Multi-Core)/1T(Single Thread)の3パターンで結果が出てくるが、今回はそもそもすべての比較対象がZen 4ベースだから1Tでの比較は意味が無いし、SMTを有効にした状態でのテストだからMCもあまり意味が無い。ということで示す結果は全てMT+MCのものである。

  • グラフ1

  • グラフ2

まずDhrystone(グラフ1)で、.NETの方はともかくNative(AVX2)の方はそれなりに性能差があるが、Ryzen 9 7950X(16core)→Ryzen Threadripper 7970X(32core)はほぼダブルスコアに近い性能向上があるのに、Ryzen Threadripper 7970X→Ryzen Threadripper 7980X(64core)は6割弱の向上率に留まっている。これはWhetstone(グラフ2)も同じで、Dhrystoneよりは多少良いが、それでもRyzen Threadripper 7970X→Ryzen Threadripper 7980Xの性能向上率は7割弱といったところ。

  • グラフ3

  • グラフ4

では他の処理だと? という事でAESのEncryption/Decryption(グラフ3)だが、Ryzen 9 7950Xが27GB/sec程度で頭打ちなのに対し、Ryzen Threadripper 7970X/7980Xは60GB/sec超えである。これはまぁ理解できる話だ。というのはAESに関してはAES-NIで処理ができるので、既にCPUコアそのものの処理能力よりもメモリ帯域がボトルネックになっている。つまりグラフ3の結果はいわばメモリ帯域の比較になっているわけだ。ただ問題はRyzen Threadripper 7970Xよりも7980Xの方が性能が低い(特に負荷の低いAES128で顕著)事だ。これも理由は想像できる。要するにより多数のコアからのMemory Access Requestが集中したことで、Memory Controllerそのもののオーバーヘッドが増えてしまい、結果としてむしろ性能が落ちてしまったものと考えられる。これは次のHasingでも同じことが起きている。負荷の低いSHA1や、Memory Accessが猛烈に発生してMemory帯域がボトルネックになりやすいSHA-512ではRyzen Threadripper 7980Xの方がむしろオーバーヘッド過大により性能が下がるが、処理負荷とメモリ帯域がバランスしているSHA-256ではそれなりRyzen Threadripper 7980Xの方が性能があがる(ただ7970Xとの性能比は1割かそこらしかないが)という形だ。

  • グラフ5

  • グラフ6

  • グラフ7

  • グラフ8

  • グラフ9

  • グラフ10

なので、メモリ帯域より演算性能の方が支配的な処理では、Ryzen Threadripper 7980Xも性能を出しやすい。そのよい例が次のFinancial Analysisである。Black-Scholes(グラフ5)/Binomial(グラフ6)/Monte Carlo(グラフ7)の3種類のEURO Optionの演算は、Black-ScholesのDouble Precisionこそ2割少々の向上に留まるが、他のケースでRyzen Threadripper 7980XはRyzen Threadripper 7970X比で5割強の性能向上が期待できる。次のScientific Analysisも同じで、GEMM(グラフ8)やN-Body(グラフ10)では5~6割の性能向上が示されている。例外はDGEMMとFFT(グラフ9)で、Memory Accessの頻度が高い(FFTなんて行列の転置だから、もう殆どMemory Accessばかりである)では性能向上が殆ど見込めていない。

  • グラフ11

次のImage Processing(グラフ11)も傾向的には同じだ。勿論全てのテストでRyzen 9 7950Xを大きく上回ってはいるものの、Ryzen Threadripper 7980XがRyzen Threadripper 7970X比で明確な性能差があるのはSharpen/Motion Blur/Edge Detection/Noise Reduction/Oil Painting/Marblingといったあたり。Memory Accessが効いていると思われるBlurとかDiffusionではあまり健闘しているとは言いにくいし、性能差がある方でも最大で6割強で、倍には遠い。要するに、CPU単体処理が多いアプリケーションなら、Ryzen Threadripper 7970X比で最大7割弱の性能が期待できるが、それでも7割弱であって倍にはならない。そしてメモリアクセスが過度にあるものについては、むしろMemory Access要求が過大になり過ぎてMemory Controller側がボトルネックになる(その最大の理由はメモリが4chに制限されているため。せめてRyzen Threadripper Pro 7000 WXと同じく8chだったらだいぶマシだっただろう)ため、むしろRyzen Threadripper 7970Xより性能が落ちかねない、ということだ。

  • グラフ12

ではそのMemory Controllerの性能は? ということでStreamの結果がこちら(グラフ12)。1GB-16GB Averageというのは、次のグラフ13の結果のうち1GB~16GBの平均値で、こちらはStreamではない。で、そのStreamは? というとここもRyzen Threadripper 7970Xの方が性能が良い始末。Ryzen 9 7950Xのダブルスコアというあたりで一応Ryzen Threadripper 7980Xの面目は保ったとはいえ、明らかにバランスが悪い事が見て取れる。

  • グラフ13

ではCache&Memory Bandwidthは? というのがこちら(グラフ13)。ここでCacheが効く範囲(おおむね4MB位まで。その先はL3の奪い合いになるのでどんどん差が縮まる)では本来コア数に比例した性能になるはずだが、そこまで性能差が無い(特にRyzen Threadripper 7980Xが低い)のは、同じ350Wの枠で動作すると必然的にRyzen Threadripper 7980Xの方が動作周波数を下げざるを得ず、純粋に2倍にはならないためである。ただピークでは8割くらいの性能は出ているあたり、こういう時だけはそれなりにコアの数があることが実感できる。ただ当然L3も聞かなくなる4GB以上では差が出ないわけだが。

  • グラフ14

  • グラフ15

  • グラフ16

  • グラフ17

  • グラフ18

  • グラフ19

Sandraではもう一つ、Memory Access Latency(グラフ14~19)も確認してみた。今回の場合、L1~L3はどれも同じZen 4コアというか物理的に同じダイなので、そこでの性能差を比較しても仕方がないので、ポイントはMemory Controllerが動く範囲ということになる。そこで比較はnsの方(Cycle数を比較しても意味が無いので)のみを示している。さて、まずGlobal Dataの方であるが、Sequential(グラフ14)では1GBの場合で0.1ns、In-Page Random(グラフ15)では凡そ2ns、Full-Random(グラフ16)では大差なしという格好で、意外に(というと失礼だが)Memory Controllerが高速であることが伺える。ThreadripperのControllerは本来EPYC向けに12chをサポートする様に設計され、それを8/4chに制限する形で動作している以上、もう少しLatencyが大きくても不思議ではないと考えられるためだ。その意味ではEPYC 9004シリーズは、更にLatencyが少ない可能性がある。これはInst/Codeも同じで、Sequential(グラフ17)で0.2ns、In-Page Random(グラフ18)とFull-Random(グラフ19)で5~7nsと、こちらもかなり良好である。Global Dataの場合とLatencyが異なるのは、Prefetchのアルゴリズムが異なるためである。そもそもInst/Code領域でIn-Page RandomとかFull-Randomが発生するのは、大域Jumpが煩雑に行われるか、プログラムの難読化が行われるか、といったケースくらいしか思いつかないから、普通はSequentialを考慮しておけば十分だし、その範囲で言えばMemory Controllerは十二分に優秀である。という事は、やはり本来8/12chのDDR5で処理すべきリクエスト集中を4chでこなそうとして、恐らくMemory Controller内部のRequest Queueで保持できるの限界を超え、CPUコア側がMemory Controllerの応答待ち状態に入ってしまった事がRyzen Threadripper 7980Xで大きく性能を落とすケースの要因であろう、と想像される。ついでに言えば、完全にMemory Access不要のケースであれば8割程度(コア数×動作周波数の比)まで性能が上がるが、Memory Accessがあると6割前後がいいところで、悪いとむしろRyzen Threadripper 7970Xより性能が下がる、という事も確認できた。

◆CineBench R24(グラフ20)

CineBench R24
Maxon
https://www.maxon.net/ja/cinebench

  • グラフ20

今回からはR23は完全に廃止。より負荷が上がったR24のみとしたい。さて結果であるが、ご覧(グラフ20)の通りである。Multiの場合、Ryzen 9 7950Xを1とするとRyzen Threadripper 7970Xは1.83、Ryzen Threadripper 7980Xは2.78といったところ。Ryzen Threadripper 7970Xは順調に性能を上げている一方、Ryzen Threadripper 7980XはRyzen Threadripper 7970X比で1.5倍といったあたりで、先のSandraの結果を見れば判るようにこれでもマシな方といったところか。