ついにというか、ようやくというか、Radeon R9 290Xの詳細が公開されることになった。R9 290Xはすでに発表済みのR9 280X/270XやR7シリーズと同じタイミングでその存在が公開されていたものの、これまで正式な発表時期や詳細は明かされずにいた。それが今回やっと詳細が公表された形だ。性能評価のための評価機も入手できたので、ベンチマーク結果も併せてレポートしたい(Photo01)。

Photo01:AMD提供のRadeon R9 290Xカード。デザイン的にはR9 280Xと殆ど変わらない

GCNを維持しながら、Stream Processorの数が増加

Photo02に、R9 290Xのスペックを示した。基本的にはGCNを維持しながら、Stream Processorの数を増やした形であるが、大きな違いはPrimitive RateをRadeon HD 7000世代の2倍にしたことが挙げられる。Stream Processorの数とPrimitive Rateの比はどの位が望ましいのか、というのは当然アプリケーションの要件によって変わってくる部分ではあるが、これによって処理負荷が軽い描画に関しては従来比で2倍の性能が出せることになる。

Photo02:Primitiveの拡張にあわせて、ROPも64基にされている

Photo03がその内部構造であるが、Compute Unitを11基×4という構成にしており、これにあわせてL2あるいはメモリといった周辺回路も相応に強化された形だ。

Photo03:ちょっと図版がつぶれていて恐縮だが、4つのShader Engine各々が11基のComputation Unitと4つのRender Back-Endを搭載する形である

Photo04がおのおののShader Engine内部、Photo05がCompute Unitの中身である。強化された点は、まずGeometoryが4 Primitiveになったこと(Photo06)に加え、Render Back-EndやL2も強化され(Photo07)、メモリバス幅も512bitに拡張された(Photo08)。こうした結果としての性能比較をまとめたのがこちら(Photo09)である。

Photo04:構成的には1つのShader Engineで16個のCUを搭載した例(Radeon HD 7970)もあるから、これに比べればまだゆとりがあるというべきか。ただ28nmプロセスのままでこれ以上CUを増やすのはダイサイズ的に難しいだろう

Photo05:CUの中身は既存のGCNと変わらない。1つのCUに64個のShaderとLoad/Store Unit×16、Texture Filter Unit×4、キャッシュが含まれる構造

Photo06:Geometry Processorそのものは既存のGCNと差はなく、4つを同時に処理できるように拡張されただけである

Photo07:Radeon HD 7970ではL2は合計128KB×6で合計768KBだった。Radeon R9 290Xではこれが64KB×16となっている

Photo08:単にバス幅を広げたのみならず、必要となるコントローラのダイサイズを節約する事にも成功している。これはダイサイズの肥大化を防ぐために重要なポイントである

Photo09:ダイサイズ比が性能比を下回るあたりは、随分回路の最適化を進めたように思える

ただ、回路の最適化を進めたとはいっても、438平方mmというダイサイズは、AMDの中では史上最大である。AMDは2006年にATIを買収後、新たにSweet Spot Strategyと呼ばれる戦略を打ち立てた。要するにハイエンド向けの超巨大なダイを無理やり作るのではなく、ハイパフォーマンスクラスの一番製品が出そうなところに最適化したダイを作り、ウルトラハイエンドはMulti-GPU構成で対応するというものだ。

NVIDIAは対照的にいまだにハイエンド向けに巨大なダイを作っているわけだが、438平方mmというとGeForce TITANの550平方mm超えには及ばないにしても、従来のSweet Spot Strategyのカテゴリを越えそうなサイズである。

これに関して、AMDでデスクトップPC向けGPUのプロダクトマネージャを務めるDevon Nekechuk氏曰く「確かにSweet Spot Strategyはまだ継続しているが、我々にとってこのプロセス(TSMC 28nm HP)でこのダイサイズは十分Sweet Spotに入っている」という返事だった。もう28nmプロセスも十分成熟しており、Yieldもかなり高くなっているので、400平方mmを超える製品でも十分作れるということなのだろう。

Photo10:Devon Nekechuk氏(Senior Product Manager, Desktop Discrete Graphics Division)。これは今年のCOMPUTEXの折に氏とミーティングした際のスナップである

さて、もう1つ特徴的なのは、新たに投入されたXDMAである(Photo11)。AMDのCrossFireにしても、NVIDIAのSLIにしても、これを構成する場合にはGPUカード同士をブリッジケーブルで接続する必要があった訳だが、ついにこれが必要なくなったという訳だ。

Photo11:もちろん、例えばPCIe Gen2のレーンで、しかも実質x4しかない(コネクタはx16相当)なんてケースでも本当に性能のペナルティがないかどうかは微妙なところ

これをどう実現したかについて明確な説明はなかったが、大ざっぱに中身の見当はつく。図1は、従来のCrossFire(と、おそらくNVIDIAのSLIも同じ)の概念図である。

図1:従来のCrossFireの概念図

ここでの動作であるが

  1. :CPUがPCIeのRoot Complexに描画コマンド/データを発行する
  2. :Root ComplexはまずPrimary GPUに描画コマンド/データを送り出す。これを受けてPrimary GPUは描画処理を行う。
  3. :Root Complexは次にSecondary GPUに描画コマンド/データを送り出す。これを受けてSecondary GPUは描画処理を行う。
  4. :Secondary GPUは完了した画面を、ブリッジ経由でPrimary GPUに送り出す。
  5. :Primary GPUは自分の生成した映像と、(4)で受け取った映像を合成して出力する。

という具合になる。(2)と(3)は、厳密に言えば同じタイミングで行うことも可能だし、別々も可能で、このあたりはコマンドをCPUからどう送り出すか次第だが、これはそれほど問題ではない。

さて、ここでBridgeを省くとどうなるか? というとこの場合、PCIe経由で映像を送り出す必要があるが、既存のGPUはCPUとの通信しかインプリメントされていない。この結果、図2の様に

図2:Bridgeを省いた場合

  1. :CPUがPCIeのRoot Complexに描画コマンド/データを発行する
  2. :Root ComplexはまずPrimary GPUに描画コマンド/データを送り出す。これを受けてPrimary GPUは描画処理を行う。
  3. :Root Complexは次にSecondary GPUに描画コマンド/データを送り出す。これを受けてSecondary GPUは描画処理を行う。
  4. :Secondary GPUは完了した画面を、PCIe経由でRoot Complexに送り返す。
  5. :Root ComplexはSecondary GPUから受け取った画面をメモリに格納する(DMA)。
  6. :(5)が終わったら、CPUはあらためて映像をメモリからRoot Complexに送り出す。
  7. :Root Complexは映像をPrimary GPUに送り出す。
  8. :Primary GPUは自分の生成した映像と、(7)で受け取った映像を合成して出力する。

といった形になる。これは無駄にオーバーヘッドが発生するため、これまでNVIDIAにしてもAMDにしても専用のBridgeを使っていたわけだ。

ただもともとPCI Expressは、必ずCPUを介在しないと通信できないわけではなく、Root Complexにぶら下がったデバイス同士での通信も当初から仕様で策定されている。問題はこれをインプリメントしていなかったことだが、AMDはRadeon R9 290XでこれをXDMAという形で実装した。この結果、流れは図3の様に

図3:XDMAの概念図

  1. :CPUがPCIeのRoot Complexに描画コマンド/データを発行する
  2. :Root ComplexはまずPrimary GPUに描画コマンド/データを送り出す。これを受けてPrimary GPUは描画処理を行う。
  3. :Root Complexは次にSecondary GPUに描画コマンド/データを送り出す。これを受けてSecondary GPUは描画処理を行う。
  4. :Secondary GPUは完了した画面を、Root Complex経由でPrimary GPUにPCIeで送り出す。
  5. :Primary GPUは自分の生成した映像と、(4)で受け取った映像を合成して出力する。

となった。Radeon HD 7000の頃から、PCIe Gen3に対応しているから、理論上の帯域は16GB/secの双方向で用意されている。この理論帯域を全然使い切っていないのが現状であり、ここで映像をPCIeレーンに流しても性能面でのネックはほとんど無いと言ってよいだろう。

さて、ついでに性能データについても紹介しておきたい。Photo12は主要なゲームの実フレームレートである。4K解像度でも主要なゲームで30fpsを超える、というものであるが、もう少し現実的なもので3DMarkのFireStrike(Photo13)、Battlefield 4(Photo14)、その他の主要なゲーム(Photo15,16)の実フレームレートが示された。

Photo12:ちなみにプラットフォームはCore i7-4960XにASUSのSabertooth X79、CorsairのDDR3-1866 4GB×4というものだそうだ

Photo13:Uber ModeとQuiet Modeの違いは後述。とりあえず競合はNVIDIAのGeForce GTX 780

Photo14:4K解像度とか、2K Display×3とか、言いたい事はわからなくもないがちょいと無茶な気が

Photo15,16:どのゲームでも、30fpsをちゃんと超えたフレームレートが実現できているというのがここでの主張。30fpsでいいのか?という気はしなくもないが。ちなみに全部解像度は4Kである

またCrossFireでの性能の伸び、ということで示されたのがこちらであるが(Photo17)、さすがに高解像度ではCrossFireの効きはすばらしく、またXDMAを使ってのボトルネックも確かに感じられない結果である。

Photo17:こちらも解像度は4K

最後がHD×3の比較(Photo18)で、全般的にGeForce GTX 780を上回る結果になっている。ただこれはAMDのデータなのであって、しかも異様に解像度を大きくしたケースでの比較だから、どこまでこれが当てはまるユーザーが居るのか? という話は当然あるわけで、こちらは実際にベンチマークで試してみたい。

Photo18:逆に言えば、こうした高解像度でない場合はどうか?というのが問題なのであるが

次のページ:評価機材とテスト環境