日本時間2008年6月25日1:01PM,AMDは発表時点におけるフラグシップ製品となるシングルGPU「ATI Radeon HD 4870」を発表した。「ATI Radeon HD 4850」を上回る,1.2TFLOPSの演算性能を持つGPUが,搭載カードの想定売価299ドルで市場投入されることになった。
同社は併せて,開発コードネーム「RV770」とされてきたATI Radeon HD 4800シリーズのGPUアーキテクチャを公開。そこで本稿では,6月16日に米カリフォルニア州サンフランシスコ市で開催された,ATI Radeon HD 4800シリーズの技術説明会「Technical Deep Dive Event」の内容を軸に,新世代GPUの強化ポイントを紐解いていきたいと思う。
ATI Radeon HD 4870リファレンスカードのイメージ。想定消費電力が160Wになることもあってか,GPUクーラーは2スロット仕様になっている
なお,ATI Radeon HD 4870の下位モデルとなる「ATI Radeon HD 4850」は,発売スケジュールが突然前倒しされ,先週末には秋葉原を中心として,PCパーツショップの店頭に製品が並んでいる。4Gamerでも23日にレビュー記事をお届けしているので,同製品についてはそちらも併せて参照してもらえれば幸いだ。
ATI Radeon HD 3000/2000の弱点を克服した
ATI Radeon HD 4800シリーズ
旧ATI Technologies時代の開発コードネームルールでは,「RV」は前世代,もしくは同一世代GPUの機能制限版という位置付けにあったため,その性能を疑問視する向きもあったRV770。だがフタを開けてみれば,(確かに基本となるストリーミングプロセッサの構成自体は従来から変わっていないものの)ATI Radeon HD 2000/3000シリーズの「R600」アーキテクチャが持つ弱点を徹底的に改良したものになっている。
ATI Radeon HD 4850の上位モデルとして発表されたATI Radeon HD 4870は,GDDR5メモリを採用し,1.2TFLOPSの演算性能を実現する
その最大の特徴は,汎用シェーダユニットとなるStream Processor(ストリームプロセッサ,以下SP)数がATI Radeon HD 3800シリーズの320基から800基へと増やされている点。トランジスタ数は従来製品の6億6600万個から9億5600万個へ増えているが,1.4倍強のトランジスタ数増加で,SP数を2.5倍にできているのを考えるに,かなり効率的な半導体設計がなされたと述べるべきだろう。
なお,製造プロセスは従来どおりTSMCの55nmプロセスを採用しており,ダイサイズ(半導体そのもののサイズ)は190mm2から260mm2に増えている。
ATI Radeon HD 4800シリーズのブロックダイヤグラム。ストリーミングプロセッサが800基に増えたことで,アーキテクチャ的にもさまざまな改良が加えられた
ATI Radeon HD 2900 XTと比較して,わずか1年で4倍もの演算処理性能向上を果たしたとアピール
アーキテクチャ面でATI Radeon HD 3000/2000世代と比べて変更の度合いが大きいのは,AMDが「SIMDコア」(SIMD:Single Instruction/Multiple Data)と呼ぶ,SPクラスタ(Stream Processor Cluster)だ。
AMDでは,5基のSPと1基の分岐実行ユニットを一つの「Stream Processing Unit」(ストリームプロセッシングユニット)とし,これを16基(つまりは80ストリームプロセッサ1組)まとめてSIMDコア1基としている。ATI Radeon HD 3800シリーズの場合,SP数は320基なので,SIMDコア換算では4基。ATI Radeon HD 4800シリーズではこれが10基となっているわけだ。
SIMDコアが増えたことを受け,各SIMDコアに命令を発効する「Ultra-Threaded Dispatch Processor」(ウルトラスレッド・ディスパッチプロセッサ)には,各SIMDコアをコントロールする「Thread Sequencer」(スレッドシーケンサ)が設けられ,より効率的なSIMDコアの制御を実現しているとのこと。また。各SIMDコアには「Local Data Share」(ローカルデータシェア)と呼ばれる共有メモリが設けられ,頻繁に利用されるデータはこの共有メモリに格納されることで,各Stream Processing Unitから利用できるようになった。
テクスチャユニットとL1テクスチャキャッシュも,ATI Radeon HD 4800シリーズでは各SIMDコアに従属する形がとられた。L1テクスチャキャッシュはSIMDコア単位で頻繁に利用するデータを格納できるようになったため,テクスチャ処理の効率は上昇する。さらに,各SIMDコアの連携を高めるため,「Global Data Share」と呼ばれる容量16KBの共有メモリが設けられている。SIMDコア間のシームレスなデータ共有を実現し,スループットパフォーマンスを向上させる狙いだ。
ATI Radeon HD 4800シリーズではSIMDコアの構成が変更され,SIMDコアごとにLocal Data Shareと呼ばれる共有メモリとテクスチャユニットを装備。さらに,SIMDコア間のデータ共有のために16KBの共有メモリであるGlobal Data Shareが搭載される
テクスチャユニットは,ATI Radeon HD 3800シリーズよりもやや簡素化されたが,L1テクスチャキャッシュとの連携を高められている。また,32bitテクスチャフィルタリングレートは2.5倍に向上している
ATI Radeon HD 3000シリーズでは,「Texture Address Processor」(テクスチャアドレス計算器)がテクスチャユニットごとに8基実装されていたのに対し,ATI Radeon HD 4800シリーズでは4基。しかし,前世代のTexture Address Processorは,フィルタ処理ありとなしで区別されていたので,ここはこれらの機能が統合されたと見るべきだ。
テクスチャキャッシュからテクセル(※テクスチャを構成する画素)を読み出す「Texture Sampler」(テクスチャサンプラ)は各ユニットに16基搭載され,これらに4基の「Texture Filter Unit」(テクスチャフィルタユニット)が組み合わされる。AMDでATI Radeon HD 4800シリーズの開発を担当したScott Hartog氏(Chief Architect, ATI Radeon HD 4800 Series, AMD Graphics Product Group)は,「ATI Radeon HD 4800シリーズのテクスチャキャッシュ帯域幅は,HD 3000シリーズの倍に向上し,32bitフィルタリングレートは2.5倍に向上している」と,(テクスチャユニットは簡素化されても)パフォーマンスそのものは大幅に向上していると説明する。
L1テクスチャキャッシュの処理効率を高めるため,頂点キャッシュを独立させたATI Radeon HD 4800シリーズ。メモリコントローラと対になったL2キャッシュとの帯域幅も大幅な向上を実現する
さらに本シリーズでは,テクスチャ性能を向上させるため,テクスチャキャッシュのデザインも変更している。前世代までのATI Radeonでは,四つのSIMDコアやメモリインタフェースがL1およびL2テクスチャキャッシュを共有する形を採用していたが,ATI Radeon HD 4800シリーズでは(前述のとおりL1キャッシュはSIMDコアに従属させつつ)L2キャッシュをメモリインタフェース(=メモリチャネル)と対にしている。さらに「Vertex Cache」(頂点データキャッシュ)をL1から分離させることで,テクスチャキャッシュの効率を向上。L1キャッシュの効率は従来に比べ2倍に達し,さらにL1テクスチャキャッシュの数が増えたこともあって,チップ全体ではATI Radeon HD 3800シリーズ比5倍の性能アップを果たしたという。
なお,これは言うまでもないかもしれないが,増強されたL1テクスチャキャッシュを有効に機能させるため,L1とL2の間の帯域幅は最大384GB/sに高められている。ATI Radeon HD 4870のテクスチャ性能は,「GeForce GTX 280」を上回るとAMDは謳う。
ATI Radeon HD 4870のテクスチャ性能は,GeForce 280 GTXを上回り,もちろん「GeForce 9800 GTX」を圧倒するとAMD
こちらはATI Radeon HD 3800シリーズとの比較。SP数が2.5倍になった“だけ”に留まらず,テクスチャ性能なども大幅に向上
そしてもう一つ,3Dゲーマーにとって重要な強化点がある。それは,「ATI Radeon HD 3000/2000シリーズ最大の弱点」とされた「Render Back-Ends」(レンダーバックエンド)だ。
同社のASICエンジニアリング上級ディレクターのJoe Macri氏は,メモリの標準化団体「JEDEC」において,グラフィックスメモリ関連委員会でチェアマンを務める人物でもある。その同氏が3年間にわたり標準化作業に携わってきたからこそ,ATI Radeon HD 4870が他社に先駆けてGDDR5を採用できたといっても過言ではないだろう。
なお,AMDはATI Radeon HD 4800シリーズの発表に伴い,同社の汎用コンピューティングに対する取り組みを披露。AMDもNVIDIAと同様に,医療や科学演算などの特定用途向けアプリケーションだけでなく,「Adobe Photoshop」におけるフォトレタッチの高速化や,「Cyberlink Power Director」におけるトランスコード(≒ビデオエンコード)の高速化,「Havok」による物理アクセラレーションなどへの対応が明らかにされた。
ここまではNVIDIAと非常によく似たアプローチ。しかしAMDはここで,これらの取り組みに当たって,あくまでオープンスタンダードを支持するというスタンスを強調する。GeForceベースの並列コンピューティングに向けた開発環境「CUDA 2.0」を用意して,対応アプリケーションの充実を図るNVIDIAとは対照的だ。
DirectX 10.1に関しては,「グローバルイルミネーションなど,複雑な光源処理が可能になるだけでなく,DirectX 10.1でプログラミングされた場合,いくつかのレンダーパスを省略できるため,グラフィックス処理の高速化も可能になる」とアピール。説明会ではUbisoft Entertainmentの「Assassin's Creed」をDirectX 10.1コードで走らせたところ,最大25%のパフォーマンスアップを実現したというデータが示された。DirectX 10.1タイトルの動向次第で,ATI Radeon HD 4800シリーズのゲームパフォーマンスは,さらに向上する可能性があるというわけである。
ただ,肝心のタイトルがほとんどない状況はどうなのか。そんな疑問に応える形で,Electronic Arts(以下,EA),SEGA of America,NHN Gamesの3社から,DirectX 10.1タイトルの発売計画が明らかにされた。とくにEAは,2008年内の発売を予定しているファンタジーオンラインRTS「BattleForge」のデモを行ったので,以下のとおりムービーでお伝えしたい。またNHN Gamesは,MMORPG「Cloud 9」において,ATI Radeon HD 4800/3800シリーズが搭載するテッセレータを用い,さらに高品位なビジュアル表現を実現すると予告していた。
このほか説明会では,DirectX 10.1やテッセレータ,TFLOPSの演算能力を生かしたAI機能など,ATI Radeon HD 4800シリーズが持つ機能をすべて活用する新しいデモ「Froblines」が公開されたほか,ピクチャ・イン・ピクチャ(PinP)などのデュアルストリームデコード処理をサポートする第2世代の高解像度ビデオ再生機能「UVD2」なども語られたが,本稿では割愛する。
次世代フラグシップモデルとなるR700について説明するRick Bergman氏(Sr. Vice President and General Manager, AMD Garphics Product Group, AMD)
なお,説明会の最後には,AMDのグラフィックスビジネスを統括するRick Bergman上級副社長によって,ATI Radeon HD 4800コアを2基搭載する「R700」(開発コードネーム)の4-way CrossFireXによるベンチマークスコアが公開されたので,紹介しておきたい。
ハードウェア構成は明らかにされなかったが,3DMark VantageのExtremeプロファイル(解像度1920×1200ドット)において,スコアは「X12515」。GPU-Zの情報を見る限り,R700は“ATI Radeon HD 4870×2”構成になりそうだが,8週間以内に市場投入されるというウルトラハイエンド製品も要注目だろう。
ATI Radeon HD 4800シリーズ投入後のGPU製品ラインナップ(左)。R700は,2008年7月末に量産を開始するという。右はR700の概要だ。RV770コアを2基搭載することで2TFLOPSの演算性能を実現するほか,グラフィックスメモリにはATI Radeon HD 4870と同様にGDDR5を搭載する。PCI Expressブリッジのデザインが第2世代となり,マルチチップ環境におけるパフォーマンス向上をさらに高めているとのことだ
Technology Deep Dive Eventの最後に紹介されたR700のベンチマークスコア。開発中のR700を2枚構成で取得した,3DMark VantageのExtremeプロファイルにおける結果だ。GPU-Zのクロック情報などからは,R700がATI Radeon HD 4870×2構成となる可能性が高いことを見て取れた