33
AMD Ryzen Threadripper 1950X ゲームモードのベンチマーク

適切なモードを見つける

多くのコンテンツクリエイター、マルチタスクユーザー、ソフトウェア開発者のように、多数のコアと豊富なPCIe接続を求めるなら、Threadripperが最適です。また、バックグラウンドで高スレッドの生産性向上アプリケーションを同時に実行するゲーマーにも適しているかもしれません。

Zeppelinダイはまさに現代工学の偉業と言えるでしょう。しかし、そのアーキテクチャは従来のものとは大きく異なっており、Ryzenの導入以前に開発された一部のソフトウェアで問題を引き起こしていました。AMDはゲーム開発者と協力し、発売時に特定されたパフォーマンス上の問題点を解決しました。その結果、多くのゲームで大幅な高速化が実現しました。

しかし、Ryzen 7、5、3 を超えてデュアルダイ構成に拡張すると、Threadripper に新たな課題が生じます。

AMDの修正は、プロセッサの動作を制御する2つのトグルスイッチで構成されており、実行しているワークロードに合わせて最適化されたモードを提供します。これらのスイッチを組み合わせることで、合計4つの独自の設定から選択できます。そこで、AMDは組み合わせの数を減らすために、クリエイターモードとゲームモードを開発しました。

ゲームモードはなぜ必要なのでしょうか?

Zeppelinダイは、Infinity Fabricインターコネクトで相互接続された2つのクアッドコアCPUコンプレックス(CCX)で構成されています。シングルダイのRyzen 7/5/3プロセッサでさえ、CCX間の通信に影響を与えるレイテンシ層が発生します。AMDはThreadripperプロセッサでこの設計を継承し、2つのアクティブなZeppelinダイを活用しています。ご想像のとおり、これによりInfinity Fabricのレイテンシ層がさらに増加し​​ます。

各ダイには独自のメモリとPCIeコントローラが搭載されています。そのため、あるコアで実行されているスレッドが別のダイのキャッシュに格納されているデータにアクセスする必要がある場合、これらのダイ間のファブリックを経由する必要があり、大きなレイテンシが発生します。当然のことながら、ダイ間のレイテンシペナルティは、シングルダイ構成のCCX間よりも大きくなります。AMDは、「go-wide」アプローチによるパフォーマンス低下の可能性に対処するため、興味深い解決策を考案しました。マザーボードBIOSまたはRyzen Masterソフトウェアから切り替えられる新しいメモリアクセススイッチを導入しました。ローカル設定と分散設定は、NUMA(Non-Uniform Memory Access)とUMA(Uniform Memory Access)を切り替えます。

画像

1

6

UMA(分散)モードは非常にシンプルで、両方のダイが接続されたメモリすべてにアクセスできます。NUMAモード(ローカル)では、ダイ上で実行されているプロセスのすべてのデータを、直接接続されたメモリコントローラ内に限定し、ダイごとに1つのNUMAノードを構築します。その目的は、もう一方のダイに接続されたリモートメモリへの要求を最小限に抑えることです。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

NUMAは、プログラムがNUMAを活用するように特別に設計されている場合に最も効果的に機能します。ほとんどのデスクトップPCソフトウェアはNUMAを念頭に置いて開発されていませんが、NUMA非対応のアプリケーションでもパフォーマンスの向上は可能です。

ブレイキングゲーム

Threadripperの32スレッドでは、一部のゲームがロードしきれないことがあります。そう、AMDのフラッグシップモデルではいくつかのタイトルが動作しなくなったのです。Intelの最上位モデルSkylake-Xチップがまもなく登場すれば、同じことが起こるでしょう。

AMDは必要に迫られ、Windowsで「bcdedit /set numproc XX」コマンドを実行するレガシー互換モードを開発しました。このコマンドはスレッド数を半分に削減します。幸いなことに、OSのデフォルトの割り当てにより、このコマンドは2番目のダイ上のすべてのコア/スレッドを無効化します。これには副次的な効果があり、異なるダイ間のスレッド間通信を排除することで、ゲームワークロード中にスレッド間で発生する遅延の原因となる同期を常に解消できます。また、スレッドの移行も防止されるため、キャッシュミスの可能性も低減します。

しかし何をテストすればよいのでしょうか?

2つの新しいトグルボタンは、設定可能なオプションメニューを提供します。AMDのCreatorプリセットは16C/32Tを公開し、オペレーティングシステムを分散メモリアクセスモードにします。これらの設定を組み合わせることで、ほとんどの生産性アプリケーションで優れたパフォーマンスが得られるはずです。ゲームモードでは、互換モードによってスレッド数が半分に削減され、ローカルメモリアクセスによってメモリとダイ間レイテンシが削減されます。

Ryzenの最初のレビューの時点で、SMTを無効にすると一部のゲームで良い影響があることがわかりました。しかし、別の設定を検討に加えることで、実行可能な構成のリストが広がります。もちろん、ゲームではあまり意味のないオプションもありますが、通常のアプリケーションでテストしてみると興味深いかもしれません。Infinity Fabricの測定値とAMDプロセッサでの過去の経験に基づいて、リストを絞り込みました。

スワイプして水平にスクロールします

構成ローカル (NUMA) / 分散 (UMA)レガシーモード(オン/オフ)SMT(マルチスレッド)
クリエイターモード分散型オフの上
ゲームモード地元の上の上
カスタム - ローカル/SMT オフ地元オフオフ
カスタム - ローカル/SMT オン地元オフの上

ゲームモードでSMTを無効にすると、コア数/スレッド数が既に半減し、利用可能な実行リソースがさらに減少します。そのため、SMTはオンのまま、両方のダイをアクティブにしました。また、すべてのコア/スレッドをアクティブにしたまま、メモリアクセスをローカルメモリコントローラに分離するという選択肢もありました。初期レビューでは、この組み合わせが特にスレッド化されたゲームで有効であることがわかりました。もちろん、デフォルトのクリエイターモードとゲームモードもテストすることにしました。

残念ながら、スイッチを入れるだけでお気に入りのゲームを起動できるわけではありません。変更するたびに再起動が必要になり、開いているプロジェクトを保存したり、会話を中断したり、どのウェブブラウザのタブを再起動すればよいか思い出そうとしたりと、貴重な時間を浪費してしまいます。また、ゲームモードではスレッド数が半分に減るため、ゲームをプレイしながらバックグラウンドで高スレッドのアプリケーションをフルスピードで実行するのにはあまり適していません。幸いなことに、利用可能なオプションの多さから、より多くの処理リソースを確保できる、より適切な設定を見つけることができるはずです。

AMDはThreadripperプロセッサを、高解像度モニターを搭載することが多いハイエンドPC向けに設計しました。高解像度は通常GPUに依存し、CPUモード間の差異は小さくなります。しかし、パフォーマンスの傾向をより明確に把握し、限られたテスト時間を最大限に活用するため、1920x1080でベンチマークを実施しました。これにより、AMDの設定間の微妙な違いを識別できるようになりました。

全体的に、ゲームモードはメモリレイテンシを改善し、Infinity Fabricのダイ間トラフィックの過度な増加を回避するように設計されています。まずは、設定がInfinity Fabricとメモリサブシステムにどのような影響を与えるかを見てみましょう。


詳細: 最高のCPU


詳細: IntelとAMDのプロセッサ階層


詳細: すべてのCPUコンテンツ

ポール・アルコーンはTom's Hardware USの編集長です。CPU、ストレージ、エンタープライズハードウェアに関するニュースやレビューも執筆しています。