Rabu, 20 Mei 2020

「Comet Lake-S」徹底検証 - Core i9-10900K / i7-10700K / i5-10500Kを比較レビュー - ニコニコニュース

Comet Lake-S版i9/i7/i5をRyzenと比較
4月末に情報解禁となったComet Lake-SことDesktop向け第10世代Core iプロセッサだが、やっと登場である。その性能を気にしておられる方も多いだろう。既に秋葉原などではプロセッサやマザーボードの予約も始まっており、さっそく手にされる方もおられるかと思う。ということで、前書きはこの位にしてレビューをお届けしたい。
○評価キット

今回はCore i9-10900KとCore i5-10500Kの製品版評価キット(Photo01~07)を入手したほか、それとは別に、製品版ではないもののCore i7-10700KのいわゆるES品(Photo08~09)も用意した。

一方マザーボードであるが、ASUSからROG Maximus XII Formula(Photo10~16)を借用し、これを利用している。ちなみに後追いでROG Maximus XII Extremeも追加入手したので、一応ご紹介だけしておきたい(Photo17~23)。構成だけ見ていると、Maximus XII Formulaは本格水冷を念頭に置いた製品、Maximus XII Extremeオーバークロックの常用を念頭に置いた製品という感じである。ただ今回は「ほぼ」定格動作内での利用なので、どちらのマザーボードでもあまり差はないのだが。ちなみにどのCPUも、(当然ながら)Windowsからは問題なく認識された(Photo24~32)。

その他のテスト環境は表1に示す通りである。比較対象はCore i9-9900Kと、Ryzen 7 3800X/Ryzen 9 3900Xを用意した(当初Core i5-10600Kのテストを予定しておらず、Ryzen 5 3600Xは手配しそこなった事をお詫びする)。

ちなみにPhoto13及びPhoto20でお分かりの通り、今回用意したマザーボードCore iシリーズの内蔵GPUでの利用が出来ない(出力ポートが無い)。この結果として、内蔵されるMedia Encoderの性能比較が今回は不可能である。なので、純粋にCPU性能のみの比較とさせていただく事にした。

なお、以下のグラフ中での表記は

R7 3800X :Ryzen 7 3800X
R9 3900X :Ryzen 9 3900X
i9-9900K :Core i9-9900K
i5-10600K:Core i5-10600K
i7-10700K:Core i7-10700K
i9-10900K:Core i9-10900K

となっている。また原稿・グラフの中の解像度の表記は

2K :1920×1080pixel(Full HD)
2.5K:2561440pixel(WQHD)
3K :3201800pixel
4K3842160pixel

としている。

PCMark / CineBench / POV-Ray
○◆PCMark 10 v2.1.2177(グラフ1~6)

UL Benchmarks
https://benchmarks.ul.com/pcmark10

性能であるが、まずはPCMark 10からご紹介。Overall(グラフ1)の結果で言えば、PCMark 10 ExpressはあまりあてにならないのでPCMark 10ないしPCMark 10 Extendedの方が評価には適していると思うが、ここではIntel系有利ではある。とは言えその差は大きくはないのだが。ただApplicationsでは多少Ryzen 9 3900Xが健闘しているものの、概ねCore i7-10700K相当というあたりに留まっている。ではこの差がどこからきているか? というと、Detail(グラフ2)を見る限りどれか明確に大差が付いているというものはあまりなく、全体的にIntelがやや有利という感じになっている。

実際Essentials(グラフ3)でもRyzenに比べて「僅か」ではあるのだが、Intel系の方が良いスコアを出している。同じ8コア同士で比較しても、Core i9-9900KよりCore i7-10700Kの方が良好なことからも、全体に底上げがなされているのが判る。この傾向はProductivity(グラフ4)とかDigital Contents Creation(グラフ5)でも大体同じである。まぁRendering & Visualizationでは多少バラつきが見られるものの、概ね大きな違いはないとして良いかと思う。Office 365(グラフ6)も傾向としては同じであり、数値演算が多いExcelではコアの数がある程度効いてくる部分はあるが、全般的にはIntel系がやや有利である。ただ、その性能差は本当にごく僅かであり、結果としてグラフ1の様に差はあるものの、これをもって「Intel圧勝」とは言えない(というか、この性能差だと「実用上、差は無し」とする方が実情に即していると思う)程度でしかない。
○◆CineBench R20(グラフ7)

Maxon
https://www.maxon.net/

ではもう少し性能差が露骨に出やすいものは? というとやはりCineBenchということになる。ただ1 ThreadではRyzen 7 3800Xが最高速だったりするし、All ThreadsだとRyzen 9 3900Xがぶっちぎりで最高速(これはもうコアの数がそのまま性能に比例するから仕方がない)だったりする。またRyzen 7 3800XとCore i7-10700Xのスコアがほぼ同程度、というのもなかなか興味深い。
○◆POV-Ray V3.7.1 Beta9(グラフ8)

Persistence of Vision Raytracer Pty. Ltd
http://www.povray.org/

PCMark 10にも含まれているPOV-Rayだが、CineBenchと同じレンダリング系ながら傾向が少し異なったので、ご紹介することにした。まず1 Threadの場合、最高速はなぜかCore i9-9900Kで、次いでCore i9-10900Kというちょっと不思議な傾向。Ryzen500PPS前半で、あまり芳しくない。ただAll Threadにすると、Ryzen系も俄然性能を上げる訳であるが、Core i7-10700KはRyzen 7 3800Kより良いスコアだし、Core i9-10900Kも12コアのRyzen 9 3900Xに肉薄する性能な事を考えると、確かに性能改善は明確に示されている様に思う。

TMPGEnc / DxO PhotoLab / 3DMark
○◆TMPGEnc Video Mastering Works 7 V7.0.15.17(グラフ9)

ペガシス
http://tmpgenc.pegasys-inc.com/ja/product/tvmw7.html

こちら同様に、4枚の4K動画(VP9)をHEVCに変換する処理時間から速度を算出している。さて、このテストでは同時処理Stream数で性能に結構差が出る訳であるが、全体的に一番高速なのが同時4Stream処理(つまり4本の4K画像を並行してトランスコード)となっている。さて、Ryzen 9 3900Xはほぼ16fpsで4KのHEVCトランスコードが可能なのに対し、Core i9-10900Kは13.5fps弱というあたりで、これに関してはIntel系がやや分が悪いという感じだ。実際Ryzen 9 3800XとCore i7-10700Kがほぼ同等のエンコード速度であり、単にコア数だけの問題ではないという事だ。
○◆DxO PhotoLab 2 V2.3.2.265(グラフ10・11)

DxO Labs
https://www.dxo.com/ja/dxo-photolab/

次は写真のRAW現像。こちらと同じ様に、結果は毎分辺りの処理枚数である。こちらも、同時処理枚数が多いほど性能も上がりやすい傾向があるが、TMPGEncとちょっと異なり、こちらではCore iシリーズが割と健闘している。最高速Ryzen 9 3900Xなのはもう仕方がない(やはりコアの数は圧倒的に効いてくる)としても、8コアのRyzen 7 3800XとCore i7-10700Kを比較すると、Core i7-10700Kの方がやや処理速度が上である。同じ8コアのCore i9-9900Kと比較しても明確に性能差があるあたり、確実に性能底上げが実現しているとして問題ないだろう。
○◆3DMark v2.11.6866(グラフ12~15)

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

ここからは3Dを。まぁこちらでも、"World's Fastest Gaming Processor"と称している訳で、3D性能は重要なポイントである。

まずは定番の3DMarkということで、グラフ12がOverallである。確かにここの7つのテスト項目では、Core i9-10900Kは「ほぼ」最高速(FireStrikeでは微妙にCore i9-9900Kに負けている)ではあるのだが、ではRyzen系と比較するとどうか? と言えば、どんぐりの背比べという感じで、大差をつけてという感じにはあまりなっていない。強いて言えば、負荷の低いNight RaidとかSkyDiverでは性能差がややあるが、それより負荷が高くなると性能差が急速に消えるのは、要するにCPUよりもGPUがボトルネックになっているという話で、これは3DMarkだけではなくGame一般にも通用する話である。その中でどこまでCPU性能の高さが生きてくるか、という話な訳だ。実際Graphics Test(グラフ13)はそのセオリー通りの数値変動になっている。NightRaidでは低迷するRyzen系も、FireStrike Extreme以上になるとまるで性能差がなくなっているからだ。

むしろ直接影響しそうなのがPhysics/CPU Testであるが、これも意外にもNightRaidではRyzen系が奮わない。ただSkyDiver以上になると、まだIntel優位とはいえ、差を大分詰めてきている感じだ。結果、Combined Test(グラフ15)でも、SkyDiverのみかなりばらつきがあるが、後は大体同じあたりに収束することになる。ただCombinedで言えば、SkyDiverだとRyzen 9 3900XがCore i9-10900Kを上回ってたりするあたり、要するに「Comet Lake-Sは確かに全体的にはRyzenを上回っているとは言えるが、差は僅か」というあたりに収束するかと思う。

ゲームBorderlands 3 / F1 2019 / Far Cry / FF XV
○◆Borderlands 3(グラフ16~22)

2K Games
https://borderlands.com/ja-JP/

ここからは実際のGame Benchを。一つ目はBorderland 3。設定方法はこちらのBorderland 3の項目に準ずる。全体的な品質は「高」である。

もう平均フレームレート(グラフ16)が全てを物語っている気はする。一応、2Kで5fps程度、3K~4Kでは1fpsほどIntel系が上回ってはいるが、大差とは言えない。もっと言えば、Core i9-10900KがCore i9-9900Kと明確な差が無いという状況では、実質的にはあまりComet Lake-Sの性能の高さを実感するのは難しいだろう。実際最大/最小(グラフ17・18)でも多少なりともバラつきがあるのは2Kだけで、その先は殆ど収束している。

まぁそれでもフレームレート変動(グラフ19~22)を見ると、少なくともRyzen系よりはやや有利ではあるのだが、Core i9-9900Kでも十分競争力があるという結論に落ち着かざるを得ないのはどうしたものか。
○◆F1 2019(グラフ23~29)

Codemasters
http://www.codemasters.com/game/f1-2019/

もうF1 2020のアナウンスもあり、7月10日に発売開始なので、今回がF1 2019を使う最後の機会かもしれない。

設定方法はこちらの"F1 2019"の項目に準じる。描画品質はUltra Highである。

平均フレームレート(グラフ23)を見ると、Borderland 3に比べると2K~2.5Kでもう少しバラつきが見られる。また最小フレームレート(グラフ25)も2K~2.5Kで

Core i9-10900K+Core i7-10700K
Core i5-10600K+Core i9-9900K
Ryzen 9 3900X+Ryzen 7 3800X

の3つにグループ分けされているのはちょっと面白い傾向だと思う。

もっとも実際のフレームレート変動を見ると、2K(グラフ26)はともかく2.5K~4K(グラフ27~29)ではそこまで明確な差もなかったりする。Comet Lake-Sが最速(ただCore i9-10900KよりCore i7-10700Kの方がむしろ性能が上)ではあるが、Core i9-9900KとかRyzenに比べて言う程大きな性能差があるわけではないようだ。
○◆Far Cry New Dawn(グラフ30~32)

UbiSoft
https://ubisoft.co.jp/fcnd/

設定方法はこちらの"Far Cry New Dawn"の項目に準ずる。描画プリセットはUltraとしている。

こちらでは、もう少し顕著にバラつきが出た。平均フレームレート(グラフ30)で言えば、2KでCore i9-10900KはRyzen 9 3900Xに17fpsもの差をつけており、これは小さくない差である。最大フレームレート(グラフ31)もさることながら、最小フレームレート(グラフ32)も2Kではかなりのバラつきがあり、20fps以上の性能差があるあたりは、確かにRyzen系に対して優位と言えるだろう。そこまではいいのだが、全体を通してみると、Core i9-10900KよりもCore i7-10700Kの方がむしろ高速というのはどうしたものか。勿論高解像度なるほど差は縮まるから、大差ないと言えば大差ないのかもしれないが、Core i9-10900Kが最高速なのは2Kに限られるという、ややすっきりしない結果になった。
○◆FINAL FANTASY XV WINDOWS EDITION ベンチマーク Version 1.2(グラフ33・34)

SQUARE ENIX
http://benchmark.finalfantasyxv.com/jp/

設定方法はこちらに準ずる。今回は標準品質(グラフ33)と高品質(グラフ34)の両方を試してみた。

結果から言えば、Ryzen 7 3800Xのみやや性能が下回っているが、その他は(標準画質・高画質共に)大差なしとして良いと思う。更に言えば、その中で最高速なのはCore i5-10600Kという話になっており、少なくともCore i9-10900Kのアドバンテージ的なものは、ことFF15 Benchに関する限りは無い、という事になる。

ゲームRDR2 / Metro / Tomb Raider / Division 2
○◆Red Dead Dedemption 2(グラフ35~37)

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

設定方法はこちらに準ずる。Qality Preset LevelLevel 14の"Favor Quality"とした。

こちらも平均フレームレート(グラフ35)を見ると、2K~2.5Kではややばらつく。といってもFar Cry New Dawnほどではない感じだ。一応Comet Lake-SはRyzen系に少しとは言え差をつけているが、2Kでの最高速Core i5-10600Kだったりするあたり、傾向は単純な話ではない。最大フレームレート(グラフ36)は、なぜかCore i9-9900Kがちょっと暴れているが、これを無視するとまぁ全体的に大差なし。一方最小フレームレート(グラフ37)では、2K~2.5KではComet Lake-Sとその他で明確に分離しているのはいいが、そのComet Lake-Sの中で最高速Core i5-10600Kだったりするあたり、「Comet Lake-Sが速い」とは言えても、この場合では「Core i9-10900Kが高速」とは言えない結果に落ち着いた。
○◆Metro Exodus(グラフ38~44)

4A Games
https://www.metrothegame.com/

設定方法はこちらに準ずる。今回はUltraプリセットを利用した。

平均フレームレート(グラフ38)を見ると、こちらもComet Lake-SがRyzen系に結構明確な差をつけており、これはまぁいいのだが、問題はそのComet Lake-Sの中で言うとCore i5-10600KとCore i9-10900Kが殆ど同等(高解像度だとむしろCore i5-10600Kの方が有利)という結果なことだろうか。Ryzen系が今一歩、というのは最大/最小フレームレート(グラフ39・40)でも見て取れる部分であり、平均フレームレートでも5~10fpsの差があるから、これは決して小さくない差ではある。もっとも2.5Kでも60fpsを超えているから、実用上の問題がどの程度あるのか? というのはもう少し細かく見ないといけない。

ということでフレームレート詳細(グラフ41~44)を見てみると、どの解像度でも80~95秒あたりの一番負荷が大きいところがやはり一番クリティカルな感じである。このクリティカルな部分での性能差が、Comet Lake-SとRyzenでは10fps(グラフ41)~5fps(グラフ44)であり、ちょっとRyzenには厳しいという感じではある。

もっとも一番負荷の軽い2K(グラフ41)ですら、Comet Lake-Sですら50fps程度の負荷なので、全般的に負荷はちょっと高めすぎかもしれない。プリセットHighにして検証した方が良かったようだ。
○◆Shadow of the Tomb Raider(グラフ45~51)

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

設定方法はこちら(https://news.mynavi.jp/article/20180213-583826/12)に準じる。QualityはHighestとした。

平均・最大・最小フレームレート(グラフ45~47)を見ると、とにかく2Kのみは激しくばらついているが、その先は殆ど変わらない、という結果は他ではあまり見ないパターンである。

実際フレームレート変動を見てみると、2K(グラフ48)では70~140秒あたりで完全にグラフが分離している(そもそも30秒過ぎの立ち上がりのピークが、Core i7-10700K/Core i9-10900Kとその他で明確に異なっている)が、この先になるともう殆どフレームレートに差が無いというか、典型的なGPU Bottleneckと言って差し支えない傾向になっているのが判る。それでも2.5Kでは、70秒~100秒の間に若干の差があるが、3K(グラフ50)だとなぜかCore i9-9900Kがやや脱落しかかりという感じだし、4KになるとCore i9-10900KまでCore i9-9900Kと変わらないフレームレートになってる期間もあるなど、もう測定誤差の範囲という感じである。結論から言えば、2Kに限って言えばComet Lake-S有利であるが、それ以上の解像度だと差が無し、として差し支えないかと思う。
○◆Tom Clancy's The Division 2(グラフ52~58)

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

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

これまでと異なるパターンの結果がこちら。平均フレームレート(グラフ52)を見ると、、何よりCore i9-10900Kのスコアがかなり低迷している。一応一番低いのはRyzen 7 3800Xではあるが、その次位に位置している感じで、実際Ryzen 9 3900XはおろかCore i5-10600Kよりも低め、という結果に終わっている。

最大フレームレート(グラフ53)はもう「暴れている」の一言。逆に最小フレームレート(グラフ54)は収束してはいるのだが、Core i9-10900Kはやはり低めで推移している。

フレームレート変動(グラフ55~58)を見ると、どの解像度でも結構細かな変動が多く、単純にどれが高いとか低いとか言い難い。唯一明確に分離しているのは、4K(グラフ58)におけるRyzen 7 3800Xの結果であって、それ以外は「ほぼ変わらない」とするべきかと思う。

●RMMT / Sandra
○◆RMMT 1.1(グラフ59~60)

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

さて、ここからはもう少しPrimitiveなテストを。まずはRMMTメモリ帯域の確認を行ってみた。

まずRead(グラフ59)。今回メモリは定格動作なので、Core i9-9900KがDDR4-2666、Comet Lake-SがDDR4-2933、RyzenDDR4-3200である。それぞれの理論帯域と実効帯域、効率を比較すると

となり、Comet Lake-Sも結構健闘はしているものの、Ryzen 9 3900Xの効率には及ばないというあたりである。ところでRyzen 7 3800Xが特に低い(とは言ってもComet Lake-S並の帯域は確保しているのだが)のがちょっと不思議である。一応可能性で言えば、もともとRyzenではMemory ControllercIOD(I/O Die)側に置かれており、CPUコアからInfinityFabric経由でアクセスするわけだが、もともとcIODは2つのDieからのアクセスを均等に裁くように設計されており、1つのDieからの集中的なアクセスがあると、InfinityFabricそのものがボトルネックになるのではないかと思われる。実際グラフ59で、4ThreadまではRyzen 7 3800XとRyzen 9 3900Xで性能がほぼ変わらないのがその傍証である。そもそもテストでは、Ryzen 9 3900Xの場合には2つのDieからのアクセスが均等に行われるように実施しているが、Ryzen 7 3800Xでは1 Die構成なので、ここがボトルネックになりそうに思える。

まぁそうした話はともかくとして、とりあえずほぼメモリ帯域にそった性能が出ている事は確認できた。一方のWrite(グラフ60)だが、Intel系は2 Threadあたりが一番効率が良い、というのは以前からと同じ傾向である。逆にRyzen(特にRyzen 9 3900X)ではThread数が増えるとじわじわ帯域を増やしており、8 Threadではもっとも広帯域になっているが、まぁこれは最終的にメモリの理論帯域に比例する訳で、これもセオリー通りである。とりあえずComet Lake-SはRead/Writeともに、DDR4-2933のサポートにあわせてきちんと帯域が引きあがる事は確認できた。
○◆Sandra 20/20 2020.4.30.35 (グラフ61~108)

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

ここからはSandraの結果を延々とご紹介させていただきたい。まずはDhrystone。MT(Multi-Thread:グラフ61)だと、かなりCore i9-10900Kも頑張っているが、コアの数でぎりぎりRyzen 9 3900Xの勝ちといったところである。8コア対決では、Ryzen 7 3800XはCore i7-10700Kは元よりCore i9-9900Kにも及ばない訳で、まぁこれは妥当な結果である。ちょっと不思議なのは1T(1 Thread:グラフ62)。動作周波数的に言えば、勿論Core i9-10900Kが最速の筈なのに、実際にはCore i9-9900Kの方が高速という、ちょっと不思議な結果になった。

この傾向はWhetstoneでも同じだった。MT(グラフ63)では、Ryzen 9 3900XがCore i9-10900Kを上回るスコアを出し、その一方でCore i7-10700KはRyzen 7 3800Xを上回っているが、1T(グラフ64)にすると俄然Core i9-9900Kが活躍し始めるという状況である。1Tの場合、消費電力と放熱の両面でゆとりがあるから、ほぼピークまで性能が上がりやすい、という事を考えればCore i9-10900Kの方が速そうに思えるのだが、案外そうならない場合もあるという結果になった。

次いでProcessor Multi-Media(グラフ65~68)。ちなみに結果の桁が2桁違う関係で横軸は対数軸にしている。まずInteger MT(グラフ65)だが、傾向はこれまでと同じく。そしてInteger 1T(グラフ66)だとCore i9-9900Kがトップなのも同じである。Float MT(グラフ67)とFloat 1T(グラフ68)も同じで、単にDhrystone/Whetstoneだけの傾向という訳ではなさそうだ。

ではもう少し用途別でCryptography(グラフ69~72)。まずEncryption/Decryption MT(グラフ69)では、Ryzenが異様に良いスコアであり、一方Comet Lake-SはなぜかCore i5-10600Kが最速という不思議な傾向になっている。ただ、1T(グラフ70)にするとちゃんとCore i9-10900Kが最速なあたり、別にベンチマークデータを取り違えている訳ではないようだ。そしてその1TではRyzen 7 3800Xが圧倒的に高速という、これまた不思議な傾向になった。加えると、Intel系ではEncryptionとDecryptionの性能がほぼ同じなのに対し、Ryzen系は結構速度が違うというばらつき方も面白い。更に言えば、ここでもCore i9-9900KがIntel系で最速になっている。

HashingはMT(グラフ71)だとRyzen系が健闘し、これにIntelが微妙に追いつかないという感じになっているが、1T(グラフ72)だと逆にIntel系が有利という、これはこれまでも繰り返してきた傾向である。そして、またしても最高速Core i9-9900Kであった。

次いでFinancial Analysis。Black-Scholes(グラフ73)だと、MTの最高速Ryzen 9 3900Xで、これにCore i9-10900Kが続き、Ryzen 7 3800XとCore i7-10700Xが概ね同等というあたり。ところが1TにするとまたもやCore i9-9900Kが最高速である。これがBinomial(グラフ74)だと、Single PrecisionだとMT/1T問わずRyzen最高速であり、Double Precisionだとかなり差を詰めるものの、MTではまだRyzen系に及ばず。1Tでは辛うじてRyzenを逆転するが、最高速はまたしてもCore i9-9900Kだったりする。Monte Carlo(グラフ75)ではSingle Precision/Double Precision問わずRyzen系が有利であり、Comet Lake-Sは一歩及ばずといったところ。ちなみに先のWhetstoneとかもそうだし、次のScientific Analysisもそうだが、SandraはAVX2までは使うもののAVX512は未対応(AVX2/FMAで実施)であり、その意味ではIntel系にはやや厳しいテストになっている事は事実である。

ではそのScientific Analysisでは? ということでまずはGEMM(グラフ76)を見ると、SGEMM(Single Precision) MTではCore i9-10900Kが圧倒的に高速なのに対し、なぜかDGEMM(Double Precision) MTではやけに低い値になっている。ただこれ、やり直しても同じ結果だったあたり、測定のミスという訳ではない。ただPower Limitに引っかかったにしては性能が低すぎるあたり、何かしらSandraの側にミスがあったのではないか? という気がする。ただ、このDGEMM MTを除くと概ね順当な結果であり、AVX512を使わなくてもやはりIntel系が強い事は確認できた。

もっとも、これがFFT(グラフ77)とかになると、また話が変わる。メモリ内でのデータの転置が激しく要求されるため、コア数が増えると相対的にキャッシュ容量が厳しくなる。この点では、ゆとりがあるRyzen系が強い。実際1TだとRyzen系の性能はIntelの半分程度でしかないのに、MTになるとほぼ同等、というあたりはIntel系がキャッシュメモリ容量がボトルネックになって性能がフルに出なくなっているためと考えられる。

N-Body(グラフ78)も同じである。Single 1TではIntel系がややアドバンテージがあるが、他はほぼ同等(MTではCore i7-10700KとRyzen 7 3800Xがほぼ同等のスコア)というあたりは、ほぼ拮抗した状況にあると考えてよいだろう。

さて、次のテストは今回初めてご紹介するAIのInference/Trainingベンチマークである(グラフ79~82)。これはCNNとRNNを利用し、TrainingInferenceの性能をSample/s(学習/推論を行う対象の画像数/秒)で示すというものである。データ型はSingle PrecisionとDouble Precisionというあたりはあんまり現実に即してない気もするが、まぁそれは措いておきたい。

さてまずはInference MT(グラフ79)で、CNNだとSingle/Double Precision問わずRyzenがかなり高速でIntelが一歩及ばないが、RNNでは逆にIntel系有利と好対照を示している。これはInference 1T(グラフ80)でも同じだが、Double Precisionにすると何故かまたCore i9-9900Kが最速という結果に。

一方Trainingであるが、MT(グラフ81)ではCNN/RNN問わずRyzen系が強く、特にCNNSingle Precisionでは圧倒的な強さを示しており、Intel系は低め。1T(グラフ82)にすると大分拮抗する感じになっているが、それでもRyzen系を超えたというのは難しい。もっともIntelとしては、こうした用途に向けてAVX512にVNNIを追加しており、これを実装したCPUでやるべし(そもそもComet Lake-Sでやるんじゃない)というあたりではないかと思う。まぁあくまでも比較の一つ、ということで理解していただければと思う。

CPU性能の最後はImage Processingである。こちらも項目によって結果の桁が大きく変わるので、横軸は対数とさせて頂いた。まずはMT(グラフ83)。全般的にIntel系が強く、Ryzen 9 3900Xが最高速なのはMotion Blur/Edge Detection/Noise Reductionの3つのみで、しかもCore i9-10900Kとの差はそれほど大きくない。一方例えばDiffusionとかMarblingなどでは、Core i9-10900KがRyzen 9 3900Xの1.5倍とか2倍の性能を出しているなど、Intel系に非常に有利な結果になっている。1T(グラフ84)でもこれは顕著であり、こうしたアプリケーションに関しては明確にIntel有利と言える。問題は、ここでも最高速Core i9-10900Kではなく、Core i9-9900Kな事であろうか。

次はCPUコア間のBandwidthとLatencyを測定するMulti-Core efficiencyである。まずグラフ85がOverallである。縦棒がBandwidth、折れ線がLatencyとなっている。ここでComet Lake-Sに注目すると

Bandwidthは若干の改良が見られる。特にBest CaseはともかくとしてWorst CaseにおけるCore i9-9900KとCore i9-10700Kを比較すると明白。またWorst CaseにおけるComet Lake-Sの帯域がほぼ同じ、というのも面白い。
Latencyに関してはBest/Worstを問わず、Core i9-9900Kと同程度とほぼ変わらないスペックになっている。

というあたりか。

もう少し詳細に見てみたい。まずBandwidth。Best Case(グラフ86)のIntel系は相似形になっており、またCore i9-9900KとCore i7-10700Kがほぼ重なっている事からも判る様に、このレベルではCoffee Lakeと全く差が見られない。差が出るのはWorst Case(グラフ87)である。明確な差があるのは16×64K(1MB)~4×1M(4MB)の範囲で、これはL2 Miss/L3 Hitであるが、なぜかここの帯域がCoffee Lakeと比べてComet Lake-Sはやや高めになっている。ちなみにBest Caseでは帯域に差が無い(Core i9-9900KとCore i7-10700Kが同等)から、L3のBandwidthそのものが増えたという訳ではない。

一方Latency(グラフ88・89)の方は、基本的に大きな違いは見られない。10~15nsのピークはL2アクセスで、ここはRyzen系の方がちょっと高速(Ryzenは12nsあたり、Intelは14nsあたりがピーク)だが、大きな差ではない。次の25~30nsの山は、Ryzenの場合で同じCCX内のL3へのアクセス、次いで35~50nsがIntel系のL3アクセス、最後75~80nsあたりがRyzenで異なるCCXのL3へのアクセスという具合だ。ここでComet Lake-Sの性能を比較してみると、BestとWorstでは42ns前後のピークの高さが異なる様に見えるが、実際はCore i7-10700Kの分布の違いでしかない。実データで言えば

という具合で、Bestだと39~41nsあたりに20%強で分布していたのが、Worstだと42nsに45%でまとめてドカンと来たという程度で、ここで大きな違いはない。という事は、Worst CaseにおけるInter-Core Communication(Intelの場合で言えば、異なるRing StopのL3をアクセス、という事だと思う)におけるThroughput改善の何かがComet Lake-Sで実装されたっぽい、ということしか判らない。ただこれはThroughputの絶対値(つまり同じRing Stop内のL3⇔L2のThroughput)そのものは変わっていないので、考えられるとすればRingそのもののThroughputか、もしくはL3⇔Ring Stop間のThroughputが若干向上した、という事かと思われる。ただ、それをハードウェア的に何か細工をした、という感じには見えない。単にRing Busスピードを引き上げているとかそういう話なのかもしれない。

つぎはMemory Bandwidth。まずはStream及びグラフ92/93における64MB~4GBの平均値をまとめたのがグラフ90・91である。まずMT(グラフ90)だと、先のRMMAに近い結果になっているのが判る。面白いのは1T(グラフ91)でも似た結果になっている事で、まぁRMMAとは当然プログラムが異なるので傾向が多少異なるのは致し方ない。それはともかくとして、Coomet Lake-Sに着目すると、MTではCore i5-10600Kが最高速で、一番遅いのがCore i9-10900Kというのは、やはりコアの数が多くなるとRing Busネックになりやすいということだろうか? 一方1Tにすると、またもやCore i9-9900Kがそれなりの性能を示すようになっている。1 Threadだと2chDDR4の帯域をフルに使い切る事はないから、結果としてCore i9-9900KのみがDDR4-2666でもさして差が出ないという事だとは思うが。

キャッシュまで含めての帯域がグラフ92・93である。MT(グラフ92)の場合、コアの数に比例してスループットが上がるので、Ryzen 9 3900Xがぶっちぎりでトップなのはまぁ当然として、1T(グラフ93)でIntel系を見てみると、L1 Hit(~32KB)の範囲ではCore i9-9900Kが最速という、謎の結果になった。ただその後は概ね動作周波数通りではあるのだが、全体的にCore i9-10900Kが低め安定なのが気になるところである。

Bandwidthの次はLatencyである。グラフ94~99がData Cache、100105Instruction Cacheを対象とした結果で、それぞれSequential/In-Page Random/Full Randomの3種類のパターンでのアクセスを行った結果である。それぞれの結果は、Cyclesとns、2つの軸で示しているが、L1~L3の範囲はコアに同期しており、これを超えるとコアに非同期となる。そういう訳で、L1~L3まではCycles単位の結果を、メモリアクセスはns単位の結果を参照する形だ。

ということでまずはData Cache/Sequential(グラフ94)であるが、Core i9-9900KのみがL1/L2/L3が 3/10/12 cyclesの動作で、Comet Lake-SはL1/L2/L3が 4/11~12/13cyclesと、余分に1cycleLatencyが追加されているのが判る。この傾向はIn-Page Random(グラフ96)/Full Random(グラフ98)も同じである。加えるなら、L3 Missの場合でも、Sequential(グラフ95)やIn-Page Random(グラフ97)でCore i9-9900KのLatencyは少なめである。さすがにFull Random(グラフ99)ではもう差が判らなくなってる(Random Accessそのものの絶対的なLatencyが大きすぎる)が、どうもComet Lake-Sでは少なくともDataに関しては1cycleLatency追加を行ったようだ。

一方のInst/Code Cacheに対して。まずSequential(グラフ100)を見ると、まず2KはL0(MicroOps Cache)にHitするから1cyeleであるが、Core i9-9900Kは8KBまでこれが続くのに、Comet Lake-Sでは4KBまでが1cycleでその先は2cycleになっている。またL2/L3 Cacheもそれぞれ3/9Cycle→4/10cycleと、やはり1cycle追加されている。元々L2/L3はUnifiedだから、Data Access時に1cycle増えていればInst/Code Accessでもやはり1cycle増えるのは当然といえば当然なのだが。Inst L1 Cacheは一応同じ2cycleのままのようだ。

ちなみにIn-Page Random(グラフ102)を見ると、128KB(まだL2 Hitの範囲)で、既にComet Lake-SはLatencyが増える傾向にあるし、Full Random(グラフ104)も同じであり、Core i9-9900Kに比べるとLatencyが確実に増加している事が判る。その一方でMemory Accessに関しては、Sequential(グラフ101)のみ明確にCore i9-9900KのLatencyが低めではあるが、In-Page Random(グラフ103)とかFull Random(グラフ105)では大差ない感じになっているのは、Memory AccessそのもののLatencyの方が大きい&揺らぎも大きいためだろう。

グラフ106Video Memory Bandwidthであるが、ここで測定しているのはPCI Express経由でCPUGPUメモリの転送を行った場合の性能である。従来Ryzen系はこのスコアが低めだったのが、今回はIntel系と遜色ない数字になっている。この12GB/secというのはおそらくGeForce RTX 2080 Superの限界性能であって、その意味ではRadeon RX 5700 XTでも持ってきたらもう少し差が出る可能性はあるが、PCIe Gen3ベースGPUカードを使う限りは、もはやRyzenIntel系に差が無い事が確認できた形だ。

最後はMemory Transaction Testである。これ、元々はTSX命令の効果の確認のためのテストなのだが、実際にTSXが利用できるのはXeon向けで、CoreシリーズはTSXが無効化されているので、Database TransactionもSelect Updateも、ソフトウェア的に実施されることになる。そういう意味ではRyzen系と条件は一緒であるのだが、結果(グラフ107108)を見ると、やはり圧倒的にIntelが有利である。ここでRyzen 9 3900Xのスコアが妙に低いのは、CCXを跨ってのL3 Accessが発生すると猛烈に遅くなるためで、その意味では妥当である。むしろ気になるのは、ここでもComet Lake-SではCore i9-10900Kややや低め(といっても大きな差ではないが)な事だ。やはり10コアをRing Busで繋ぐと、性能の揺らぎが大きめになるのかもしれない。

●消費電力 / 考察
○◆消費電力その1(グラフ109115)

性能そのものは以上だが、気になる消費電力について。まずは何時ものように、SandraArithmetic Benchmark(グラフ109)、POV-RayAll CPU(グラフ110)、TMPGEnc4Streamの同時エンコード(グラフ111)、3DMark FireStrike Demo(グラフ112)、それとFinal Fantasy XVの2K・標準品質(グラフ113)における消費電力変動を確認してみた。それぞれの平均値、及び待機時の消費電力をまとめたのがグラフ114である。ここでTMPGEncはPeakとAvgの2つがあるが、これはグラフ111の中で示すように

Peak:スタート直後の消費電力の高い時期の平均。Ryzenは1段階だが、Intel系は2段階で消費電力が変わるので、この2段目が終わってAvgと変わらない所に落ちるまでの間の平均消費電力を取得
Avgスタート後70秒~150秒の、消費電力が安定した時期の平均を取得

となっている。

さて、まずそもそも論として、Comet Lake-Sの3製品はIdle時の消費電力が結構高め(他に比べて20W以上高い)だが、これがCPUに起因するものか、マザーボードに起因するものかははっきりしない。まぁ今回比較対象のROG STRIX Z390-F GamingとかTUF Gaming X570-PLUSに比べると、オンボードの表示機能なども充実しているし、VRMの数もそれなりに多い(=そのVRM制御のためのコントローラの数も多い)から、ある程度消費電力が上がるのもやむなしだが。ただそれを勘案しても、やっぱりComet Lake系の消費電力は高めである。TMPGEncが良い例で、PeakとAvgの差が

となっている(一番飛び抜けて差が大きいのはCore i9-9900Kだが、こちらはAvgが低いのが理由でもある)。

グラフ115が、待機時消費電力との差を取ったものだ。やはりこうしてみると、全般的にComet Lake-S(というか、Core i7-10700KとCore i9-10900K)の消費電力の多さが目立つ感じになっている。

試しに効率を試算してみた。表2は、SandraのDhrystone/Whetstoneの性能と消費電力から、効率(GIPS/W及びGFLOPS/W)を算出したもので、もう見てお判りの様にRyzen系の方がかなり効率が良い(特にRyzen 9 3900Xの効率の良さは特筆もの)事が判る。

表3はPOV-Rayで、消費電力と所要時間から消費電力量を算出したものだ。こちらは当然少ないほど有利であるが、Ryzen 7 3800Xでも9000W・sec台、Ryzen 9 3900Xでは8000W・sec程度なのに、Intel系はいずれも10000W・sec台である。まぁ判っていた話ではあるが、やはり14nm++のCoffee LakeやComet Lake-Sでは、TSMC N7のRyzenと比べるには分が悪いようだ。

表4は、FFXV Benchmarkの効率を示したものだ。確かに絶対的なスコアで言えば、Intel系の方がやや上であるが、その分Ryzen系は消費電力が少ない。では、消費電力1Wあたりのスコアは? というのがこれである。Intel系の中で一番効率が良いのがCore i5-10600Kというのは、Game BenchmarkでもしばしばCore i5-10600Kがトップスコアだったことを考えるとなかなか示唆的ではある。

○◆消費電力その2(グラフ116123)

さて、大まかな傾向はここまでで見えてきていると思うが、今回は一歩踏み込んで動作周波数と消費電力の傾向をもう少し明確にしてみたいと思う。具体的には

(1) IntelCPUIntel Extreme Tuning Utility(Photo33)、AMDCPURyzen Masterを利用し、動作周波数を2GHzから少しづつ(2~3.8GHzまでは200MHz刻み、4GHz以上は100MHz刻み)引き上げてゆく。
(2) 周波数変更後、AIDA64のSystem Stabilty Test(Photo34)を利用し、CPUとFPU、Cache、System Memoryに負荷を掛けた状態を2分間維持。その後5秒のIntervalを置く。
(3) この2分間の維持中の消費電力を測定する。また、ここでCPU Throttlingあるいは異常動作、シャットダウンなどが起きたらそこでテスト終了

というシナリオである。

Ryzen 7 3800X(グラフ116)4.4GHzあたりでThermal Throttlingらしきものが発生。4.5GHzでOverheatによりSystem Shutdownが発生。なので信用できる消費電力は4.4GHzまでとなる。
Ryzen 9 3900X(グラフ117)4.2GHzでTest Error(負荷テストで演算エラーが発生、負荷テストそのものが強制終了)(Photo35)。なので、4.1GHzまでが信用できるデータではあるのだが、既に4.1GHzでThrottlingが発生している様に見える。
Core i9-9900K(グラフ118)4.2GHzでPower Limit Throttlingが発生したので、4.3GHzでも同様にThrottling発生を確認して終了。
Core i5-10600K(グラフ119)4.6GHzでCurrent/EDP Throttlingが発生。4.7GHzに設定しても動作周波数が上がらなくなったので、4.6GHzでテスト終了。
Core i7-10700K(グラフ120)4.7GHzでPower Limit Throttlingが発生。4.8GHzではより顕著になったので、ここでテスト終了。
Core i9-10900K(グラフ121)4.5GHzでPower Limit Throttlingが発生した(Photo36)ので、ここでテスト終了。

これらについて、それぞれの2分間(Throttlingが発生した場合は、その直前まで)の平均消費電力をまとめたのがグラフ122である。

面白いのは、2GHzの時点でRyzen系がかなり消費電力が大きい事だが、逆にこから4GHzまではほぼ線形に消費電力が増える形である。対してIntel系は指数関数的に消費電力が増えている。この結果

RyzenPower Limitの前にThermal Limitが到来する。実質、200WあたりがPower Limit。
Core i9-9900K:Thermal Limitの前にPower Limit(175W)が到来する。
Core i5-10600K:Thermal Limitの前にCurrent/EDP Limitが到来する。この時点で190Wほど。
Core i7-10700K/Core i9-10900K:Thermal Limitの前にPower Limit(225W)が到来する。

といった結果になっている。

実のところ、Core i7-10700K/Core i9-10900Kの性能の高さは、このPower Limitの引き上げによる動作周波数の向上による部分が大きく、コアそのものの素性はCoffee Lake世代のCore i9-9900Kとほぼ変わりが無いように思われる。ただ、動作周波数を引き上げる事でタイミングクリティカルになる事を避けるために、L1~L3キャッシュのLatencyを若干増やして安全動作を目指した(これはSandraのCache/Memory Latencyの結果から明らか)という事かと思う。

逆に言えば、仮に同じ消費電力/動作周波数で換算したとするならば、Comet Lake-SはむしろCoffee Lakeよりも性能が落ちる事になる。何というか、ぎりぎりのチューニングで性能を出しているという感じである。
○◆考察

ということでComet Lake-Sの性能評価を一通りご紹介した。確かに性能は高い。一方でそれは、上位モデルではCoffee Lakeに比べてTDP枠が95Wから125Wへと30W引き上げられたことで高速動作が可能になった面が大きい、という製品でもある。そしてCore i9-10900Kでは遂に10コアに達した訳だが、コア数が特に効いてくるアプリケーション(それこそエンコードとかRAW画像の現像とか)を想定するのであれば、よりコア数の多いRyzen 9の方に軍配が上がるという現状でもある。Core i9-10900Kについては最大5.3GHzとアピールされているSingle Thread性能でも、今回テストした限りでは、Gamingで言うならばCore i5-10600Kがしばしば最高速だったことを考えると、手放しでアドバンテージがあるとは言い難い場面もある。

価格面については、直近の話で言えば、昨日の記事では秋葉原の予約価格はCore i7-10700Kが56,000円前後、Core i9-10900Kが72,000円前後となっている。対してRyzen 7 3800Xは48,000円前後、Ryzen 9 3900Xでも60,000円ほどである。価格がこなれてくれば多少価格差が縮まる可能性はあるかもしれないが、加えて言えば、今回はプラットフォームの入れ替えになる訳で、新規マザーボードが必要である。それでありながら、DDR4-3200とかPCI Express Gen4未対応というのは、ちょっと考えるところだ。

さて、今年の夏はまた猛暑になると予測されている訳だが、消費電力の観点でCore i7-10700K/Core i9-10900Kは多めで、という事は発熱が多い訳で、より冷房の能力を必要とすることになる。その意味では、熱を気にする向きならより消費電力が少なく抑えられているCore i5-10600Kの方が好ましい気がする。

ということで筆者としては

現在Coffee Lakeを利用しているユーザーで、多少の手間やリスクが許容できる、ということであれば、BIOS SetupでCPUへの電力供給リミットを引き上げてやれば、無理にComet Lake-Sへの乗り換えを考えなくてもよいかもしれない。
10コアにコア数以上の期待は抱かない方がよい。もしコア数をもっと欲しい、というユーザーであれば、今回テストしたようなシチュエーションでは12コアのRyzen 9 3900Xとか、今回はテストしなかったが16コアのRyzen 9 3950Xの方が多分満足度は高い。
そろそろシステム更新の時期なので、ここは一つ新しめの構成(かつIntel)で、というユーザーは、ハイエンドCore i9-10900Kではなく、Core i7-10700KとかCore i5-10600KのComet Lake-Sの方が幸せになれるしお財布にも優しい。実際、エンコードとかを多用すると不満は残るが、そうでなければCore i5-10600Kの性能/価格比(まだ国内の予価が出ていないが、換算レートから考えて31,000円前後と想像される)や性能/消費電力比は非常に良好だし、Gamingでも全く不満は感じなかった。

というあたりだろうか。なかなか厳しい評価になってしまったが、ライバルも強力ななか、致し方ないところではある。コストが気にならないなら最上位のCore i9-10900Kなのかもしれないが、バランスではCore i5-10600Kの方が好感触であった。読者の新マシン選びの参考になれば幸いである。
(大原雄介)

画像提供:マイナビニュース

Let's block ads! (Why?)


https://news.google.com/__i/rss/rd/articles/CBMiKWh0dHBzOi8vbmV3cy5uaWNvdmlkZW8uanAvd2F0Y2gvbnc3Mjk2MjAy0gEA?oc=5

2020-05-20 14:00:07Z
52782422835941

Tidak ada komentar:

Posting Komentar