ついにというか、ようやくというか、Radeon R9 290Xの詳細が公開されることになった。R9 290Xはすでに発表済みのR9 280X/270XやR7シリーズと同じタイミングでその存在が公開されていたものの、これまで正式な発表時期や詳細は明かされずにいた。それが今回やっと詳細が公表された形だ。性能評価のための評価機も入手できたので、ベンチマーク結果も併せてレポートしたい(Photo01)。
GCNを維持しながら、Stream Processorの数が増加
Photo02に、R9 290Xのスペックを示した。基本的にはGCNを維持しながら、Stream Processorの数を増やした形であるが、大きな違いはPrimitive RateをRadeon HD 7000世代の2倍にしたことが挙げられる。Stream Processorの数とPrimitive Rateの比はどの位が望ましいのか、というのは当然アプリケーションの要件によって変わってくる部分ではあるが、これによって処理負荷が軽い描画に関しては従来比で2倍の性能が出せることになる。
Photo03がその内部構造であるが、Compute Unitを11基×4という構成にしており、これにあわせてL2あるいはメモリといった周辺回路も相応に強化された形だ。
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を増やすのはダイサイズ的に難しいだろう |
ただ、回路の最適化を進めたとはいっても、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カード同士をブリッジケーブルで接続する必要があった訳だが、ついにこれが必要なくなったという訳だ。
これをどう実現したかについて明確な説明はなかったが、大ざっぱに中身の見当はつく。図1は、従来のCrossFire(と、おそらくNVIDIAのSLIも同じ)の概念図である。
ここでの動作であるが
- :CPUがPCIeのRoot Complexに描画コマンド/データを発行する
- :Root ComplexはまずPrimary GPUに描画コマンド/データを送り出す。これを受けてPrimary GPUは描画処理を行う。
- :Root Complexは次にSecondary GPUに描画コマンド/データを送り出す。これを受けてSecondary GPUは描画処理を行う。
- :Secondary GPUは完了した画面を、ブリッジ経由でPrimary GPUに送り出す。
- :Primary GPUは自分の生成した映像と、(4)で受け取った映像を合成して出力する。
という具合になる。(2)と(3)は、厳密に言えば同じタイミングで行うことも可能だし、別々も可能で、このあたりはコマンドをCPUからどう送り出すか次第だが、これはそれほど問題ではない。
さて、ここでBridgeを省くとどうなるか? というとこの場合、PCIe経由で映像を送り出す必要があるが、既存のGPUはCPUとの通信しかインプリメントされていない。この結果、図2の様に
- :CPUがPCIeのRoot Complexに描画コマンド/データを発行する
- :Root ComplexはまずPrimary GPUに描画コマンド/データを送り出す。これを受けてPrimary GPUは描画処理を行う。
- :Root Complexは次にSecondary GPUに描画コマンド/データを送り出す。これを受けてSecondary GPUは描画処理を行う。
- :Secondary GPUは完了した画面を、PCIe経由でRoot Complexに送り返す。
- :Root ComplexはSecondary GPUから受け取った画面をメモリに格納する(DMA)。
- :(5)が終わったら、CPUはあらためて映像をメモリからRoot Complexに送り出す。
- :Root Complexは映像をPrimary GPUに送り出す。
- :Primary GPUは自分の生成した映像と、(7)で受け取った映像を合成して出力する。
といった形になる。これは無駄にオーバーヘッドが発生するため、これまでNVIDIAにしてもAMDにしても専用のBridgeを使っていたわけだ。
ただもともとPCI Expressは、必ずCPUを介在しないと通信できないわけではなく、Root Complexにぶら下がったデバイス同士での通信も当初から仕様で策定されている。問題はこれをインプリメントしていなかったことだが、AMDはRadeon R9 290XでこれをXDMAという形で実装した。この結果、流れは図3の様に
- :CPUがPCIeのRoot Complexに描画コマンド/データを発行する
- :Root ComplexはまずPrimary GPUに描画コマンド/データを送り出す。これを受けてPrimary GPUは描画処理を行う。
- :Root Complexは次にSecondary GPUに描画コマンド/データを送り出す。これを受けてSecondary GPUは描画処理を行う。
- :Secondary GPUは完了した画面を、Root Complex経由でPrimary GPUにPCIeで送り出す。
- :Primary GPUは自分の生成した映像と、(4)で受け取った映像を合成して出力する。
となった。Radeon HD 7000の頃から、PCIe Gen3に対応しているから、理論上の帯域は16GB/secの双方向で用意されている。この理論帯域を全然使い切っていないのが現状であり、ここで映像をPCIeレーンに流しても性能面でのネックはほとんど無いと言ってよいだろう。
さて、ついでに性能データについても紹介しておきたい。Photo12は主要なゲームの実フレームレートである。4K解像度でも主要なゲームで30fpsを超える、というものであるが、もう少し現実的なもので3DMarkのFireStrike(Photo13)、Battlefield 4(Photo14)、その他の主要なゲーム(Photo15,16)の実フレームレートが示された。
またCrossFireでの性能の伸び、ということで示されたのがこちらであるが(Photo17)、さすがに高解像度ではCrossFireの効きはすばらしく、またXDMAを使ってのボトルネックも確かに感じられない結果である。
最後がHD×3の比較(Photo18)で、全般的にGeForce GTX 780を上回る結果になっている。ただこれはAMDのデータなのであって、しかも異様に解像度を大きくしたケースでの比較だから、どこまでこれが当てはまるユーザーが居るのか? という話は当然あるわけで、こちらは実際にベンチマークで試してみたい。
次のページ:評価機材とテスト環境