科学・技術
NvidiaのVeraホワイトペーパーにほころびが見られる
Nvidia's Vera Whitepaper Has a Thread Loose (chipsandcheese.com)
要約
この記事は、NVIDIAが発表したサーバーCPU「Vera」に関するホワイトペーパーを分析しています。Veraのハードウェア設計(Olympusコア)は強力である可能性が高いものの、ホワイトペーパーはx86アーキテクチャを誤解を招く形で描写し、自社の技術的優位性を過度に強調していると批判しています。特に、同社の「Spatial Multithreading」という概念は、従来のSMT(Simultaneous Multithreading)と比較して、パフォーマンス上の利点よりもQoS(Quality of Service)に焦点を当てている可能性が指摘されています。
全文翻訳
NVIDIAのVeraホワイトペーパーにほころびが見られる
George CozmaとChester Lam
2026年8月5日
61
共有
インターネットの皆さん、こんにちは。
NVIDIAは、同社初の自社OlympusコアベースのサーバーCPUであるVeraを説明する45ページのホワイトペーパーを発表しました。Veraは、88コアのモノリシックコンピュートダイを備えた魅力的なチップであり、Olympusはバリュー予測、グラフプリフェッチャー、コアあたり2MBのプライベートL2、164MBの共有ラストレベルキャッシュ、そして1.2TB/sを約束する8つのLPDDR5Xメモリインターフェースを持つ10ワイドのArm v9.2コアです。
残念ながら、NVIDIAはこのペーパーの大部分を使って、これらの興味深い設計選択をx86に対する道徳劇に変えようとしています。従来の同時マルチスレッディングはタイムシェアリングとして描かれ、設定可能なNUMAトポロジーは避けられない32ノードの迷路として提示され、4つのSPECコンポーネントは「エージェンティックベンチマーク」となり、定義されていないパフォーマンスカウンター比率は因果関係の証明として促進され、ラベルのないピクトグラムは1.8倍の強化学習結果となります。
イライラするのは、Veraにはこの助けが必要ないことです。初期の独立したテストでは、Olympusは実際に手ごわいことが示唆されています。ホワイトペーパーの最も強力な主張はハードウェアであり、最も弱い主張はその周りに包まれたストーリーです。それでは、そのストーリーを分解してみましょう。
Olympusはこれよりも良いマーケティングに値する
チーズおろし器を取り出す前に、良い点について話しましょう。Olympusは非常にワイドなアウトオブオーダーArmコアです。
そのフロントエンドは、サイクルあたり10命令をデコードでき、サイクルあたり最大2回の分岐を処理できます。NVIDIAは、ニューラル分岐予測器、バリュー予測、メモリリネーミング、大きな命令ウィンドウ、6つの128ビットSVEパイプ、4つのロードパイプ、2つのストアパイプ、96KBのL1データキャッシュ、そして約10サイクルでアクセスできる2MBのプライベートL2について説明しています。それらのコア88個が、3.4TB/sのコヒーレンシファブリックと分散型の164MBシステムレベルキャッシュの後ろに配置されています。
コアを詳しく見ると、バリュー予測はOlympusが持つユニークな追加機能の1つです。これは長年の研究分野であり、バリュー予測により、コアが結果を正しく予測した場合、依存する命令は遅延の長い操作の後ろに積み重なるのではなく、処理を進めることができます。研究者たちは、Appleがそのコアでバリュー予測を使用していることを発見しており、AMDはファミリー17h(Zen 1および2)で一部の浮動小数点命令の値を予測できると述べています。しかし、AMDのファミリー17hの実装はかなり限定的でしたが、OlympusはAppleのものに近い、より広範なバリュー予測実装を持っているようです。
しかし、グラフプリフェッチャーはNVIDIAに固有のものではありません。Intelには、少なくとも2022年から出荷されているシリコンに搭載されているデータ依存プリフェッチャーと呼ばれる同様のメカニズムがあります。Intelの最新のデータセンターCPUであるGranite Rapidsも、Array of Pointersプリフェッチャーを備えており、「定数ストライドロードのためにプリフェッチされたデータをポインタとして扱い、ポインタの値に対応するメモリアドレスへのプリフェッチリクエストを発行する可能性があります。」これは、NVIDIAがグラフプリフェッチャーについて説明しているプロデューサー・コンシューマーのアイデアと基本的に同じです。Intelの実装はかなり制約されていますが、NVIDIAの実装はIntelのものよりも複雑なチェーンを処理できる可能性があります。したがって、Veraのグラフプリフェッチャーはより多くのワークロードを処理できる実装かもしれませんが、プロデューサー・コンシューマーのプリフェッチは新しいアイデアではありません。
「ニューラル分岐予測器」も新しいアイデアではありません。2012年、AMDはPiledriverマイクロアーキテクチャにパーセプトロン分岐予測器を実装し、Zen 1でもパーセプトロンベースの分岐予測器を使用し続けました。しかし、Zen 2以降、AMDは初期方向予測にのみパーセプトロンBPUを使用し、TAGE予測器がそれを上書きしました。これは、誤予測を30%削減したためです。Zen 5では、AMDはZen 3またはZen 4ですでにそうしていなかったとしても、おそらくTAGE予測器に完全にコミットしています。
SoC側に移ると、Olympusコアの堅牢さを考えると、NVIDIAはVeraに同様に堅牢なメモリサブシステムを与えています。Veraは8つのSOCAMM2 LPDDR5Xモジュールをペアにし、最大1.5TBの容量と1.2TB/sの帯域幅を備えています。NVIDIAは、搭載されたメモリサブシステムが約50ワットしか消費しないと主張しています。従来のEPYCまたはXeonプラットフォームは、より大容量のDIMMを提供でき、交換も容易ですが、その柔軟性の代償としてボード面積と電力が必要になります。
最も重要なのは、NVIDIAの結果以上のものがあることです。5月、PhoronixのMichael Larabelは、初期のVeraシステムを現在のArmおよびx86サーバーと比較しました。NVIDIAが許可したテストセット全体で、Veraの幾何平均は5GHzのEPYC 9575Fを10%上回り、Xeon 6980Pの1.55倍、Graceの1.63倍となり、Veraは公開テストで見た中で最も高性能なArmサーバーCPUとなっています。テストには大きな注意点があります。NVIDIAが許可したワークロードの範囲を選択し、周波数や電力の監視を許可しなかったことです。Phoronixがテストしたシステムは量産前であり、テスト期間は1日だったため、NVIDIAが課した制限に関わらず、テストできることにはかなり厳しい制限がありました。これは、VeraがNVIDIAのラボだけでなく、実際の環境で見つかるようになるまで、より広範なカバレッジを待つ必要があることを意味します。
それでも、ホワイトペーパーのチャートがすべて幻想であるという説明を却下できるほどの結果は強力です。Olympusは高速なCPUコアのようです。それでは、ホワイトペーパーがNVIDIAが主張するものを証明しているかどうかを尋ねることができます。
空間マルチスレッディングはまだSMTです
ここに文書の最初の大きな技術的誤りがあります。
図5は、「従来のSMT(x86)」とNVIDIAの空間マルチスレッディングを対比しています。x86側は、分岐予測器、デコード、実行、ロード/ストア、メモリの各ステージが2つのスレッド間で交互に実行される様子を描いています。キャプションでは、Veraはリソースを2つのハードウェアスレッドに分割することで、「機会的なタイムシェアリング」を回避していると述べています。
NVIDIAの図は、x86-64およびその他のISAでSMTが通常どのように実装されているかについて誤解を招く印象を与えます。SMT実装は、サイクルごとにスレッドを選択するか、スレッドに依存しない方法で動作することにより、実行パイプラインのさまざまなステージを共有します。フェッチ、デコード、アロケーションは通常、サイクルごとにスレッドをサービスしますが、実行およびメモリアクセスステージはスレッドに依存せず、同じサイクルで両方のスレッドからのマイクロオペレーションをサービスできます。スレッドが競合するステージは、両方のスレッドに供給できる場合にリソースを未使用のままにしません。静的パーティショニングとサイクルごとの選択は、スレッドごとのストールがない限り、両方のスレッドに同じ平均スループットを提供します。ストールがある場合、サイクルごとの選択は、ストールしていないスレッドに未使用のスループットを与えることができます。
静的にデコードをSMT用にパーティション化するプロセッサと、サイクルごとにサービスするスレッドを選択する8ワイドプロセッサのデコードステージアクティビティの仮説例。サイクルごとのスレッド選択は、一方のスレッドのストールを効率的に隠すことができますが、静的パーティショニングはテーブルに残るスループットを犠牲にします。
同じ考え方は、実行およびキャッシュアクセスのようなスレッドに依存しないステージにも当てはまります。各スレッドは、供給できる限り多くの実行ユニットまたはキャッシュポートを利用できます。対照的に、NVIDIAが示唆するようにリソースを静的にパーティション化すると、一方のスレッドが計算バウンドになり、もう一方のスレッドのために予約されているため、コアの実行リソースの半分を使用できなくなる可能性があります。
IntelのPentium 4 SMTペーパーからの図。実行ステージが同じサイクルで両方のスレッドをサービスできる様子を示しています。
NVIDIAのペーパーのテキストは、NVIDIAの空間マルチスレッディングアプローチの利点として「決定論、分離、およびサービス品質」を強調しています。パフォーマンスは顕著に挙げられていません。QoSはNVIDIAのターゲット市場にとってスループットよりも重要な考慮事項である可能性があり、空間マルチスレッディングは悪い設計ポイントではないかもしれません。しかし、NVIDIAの図は、垂直空間が時間を表しているように見え、空間マルチスレッディングが従来のSMTよりも大きなパフォーマンス向上を与えることを意図しているかのような誤解を招きます。
リソース干渉の削減