後藤弘茂のWeekly海外ニュース

“デュアルコア”化によって2倍の性能になった「ATI Radeon HD 5800」



●前世代の2倍の性能を発揮するATI Radeon HD 5800(Cypress)

 AMDが、新世代のフラッグシップGPU「ATI Radeon HD 5800(コードネームCypress:サイプレス)」を発表した。同社のDirectX 11世代GPUファミリ「Evergreen(エバーグリーン)」の最初のGPUとなる。そして、演算性能は2.72TFLOPSと、生パフォーマンスでは現状で世界最高速のGPUでもある。

 いよいよベールを脱いだCypressの、アーキテクチャ上の大きなポイントは次の6点だ。

・DirectX 11に初めて対応したハードウェア
・“デュアルコア”化による2倍の2.72TFLOPSの演算パフォーマンス
・汎用コンピューティング向け機能の強化
・ATI Eyefinityによる最大6画面表示
・アイドル時に27Wの低消費電力化
・21億5,000万個のトランジスタで334平方mmのダイサイズ

Radeon HD 5800シリーズのゴール
Radeon HD 5800シリーズの主な仕様
パフォーマンスの向上

 Cypressの全体の構造を、前世代のRadeon HD 4800(RV770)と比べると、規模こそ異なるが、全体のシステムアーキテクチャはよく似通っていることに気がつく。ラフに言えば、基本の構造は同じで、プロセッサやレンダーバックエンド(ROP)を2倍にしたGPUがCypressだ。AMDのグラフィックス部門の技術トップであるEric Demmers氏(CTO and AMD Fellow, Graphics Products Group, AMD)は次のように説明する。

 「従来のアーキテクチャ(RV770)とよく似ているが、それは、優れたベースがあるなら、そこからスタートするのが得策だからだ。しかし、ほとんど全てが2倍になっている。2倍の数のシェーダコアに2倍のROP、2倍のキャッシュだ」。


Radeon HD 5800シリーズの概要
Radeon HD 4800の概要

●CPUのデュアルコアと似たような手法でプロセッサを2倍に

 2倍のパフォーマンスを達成する2倍の規模のGPU。今回、GPUの規模を2倍にするに当たって、AMDはCPU的な設計を取りいれた。それは“デュアルコア”化だ。バスの設計を担当するFritz Kruger氏(Architect, AMD)は次のように説明する。

 「システムアーキテクチャの観点からは、今回のCypressのはRV770とよく似ている。唯一の大きな違いはデュアルコアであることだ。CPUのデュアルコアとは違うが、考えかたは少し似ている。(GPUの内部バスの)クロスバスイッチはあまりスケールアップできない。だから、CPUがコアを2つの分けるのと同じ理由で、我々もコアを2つに分けて、バス構造を簡単にしている」

 Cypressのプロセッサ群は、実は大きく2つのグループに分けられている。2グループそれぞれが、ラスタライザやスレッドシーケンサといった、プロセッサの制御やセットアップを行なうユニットを備えていると見られる。つまり、RV770の中にあったプロセッサ群とその制御部分が、そっくり2個ずつCypressの中に入っているような構造になっている。

 CPUを引き合いに例えると、RV770がシングルコアで、Cypressがデュアルコアだ。もちろん、CPUのデュアルコアとは、全く意味合いもアーキテクチャも異なる。しかし、今までのGPUが全てのプロセッサをひとまとめに制御していたのに対して、Cypressではプロセッサの制御を2つのグループにある程度分けているという意味では、デュアルコアと考え方が近い。その意味では、初のデュアルコアGPUがCypressだ。

 この構造の利点は、GPUのボトルネックの1つである内部バス構成をよりシンプルにできることだ。その結果、GPU設計がより簡単になる。また、プロセッサの制御も、よりシンプルにできる。

デュアルコアのような構成を採用する

●シームレスに働く2つのSIMDグループ

 AMD GPUでは、プロセッサはSIMD(Single Instruction, Multiple Data)を実行する単位である「SIMDコア(SIMDエンジンとも呼ぶ)」としてまとめられている。RV770では、このSIMDコアが10個だったのに対して、Cypressでは20個になっている。Cypressのデュアルコアの実体は、RV770相当の10個のSIMDを1コアとして、20個のコアを2コアに分割して管理するものだと見られる。

 Cypressがデュアルコア的な構造を持っていることを示す要素は、Cypressアーキテクチャの随所に見て取ることができる。例えば、Cypressでは、ポリゴンをピクセルへと変換するラスタライザが2個に増やされている。これは、1コアにつき1ラスタライザの構成を取っていると考えれば納得できる。また、各プロセッサ群へと割り当てたスレッドをトラックし、プログラムの分岐やスレッド切り替えなどを制御するスレッドシーケンサも2個になっている。Cypressの20個のSIMDコアは、スレッドシーケンサによって10個づつ制御されているという。あるAMD関係者は次のように説明する。

 「スレッドシーケンサによって分岐の制御が行なわれる。RV770では10のSIMDに対して1つだった。Cypressでは、20のSIMDが10ずつグループになり、それぞれをスレッドシーケンサが管理する」

 しかし、2個に分割されたCypressのコア(10 SIMD)は、CPUのデュアルコアよりずっとタイトに接続されている。

 「ソフトウェアが2つのコアでシームレスに働くようにしている。例えば、(スレッドの)ディスパッチは、両方のコアにまたがってロードバランスを取れるように行なっている。そのため、ポリゴンの頂点のプロセッシングがこちらのコア、ラスタライズした後のピクセルのプロセッシングがもう一方のコアといったディスパッチができる。片方のコアからもう片方のコアへとデータを移すために、いったんメモリに書き込む必要はない。

 また、テクスチャ(のデータパス)は(2つのコアで)共有されている。テクスチャは2つのコアに広まって行く。テクスチャ(データパス)は2コアにまたがるサービスだ」(Kruger氏)

 つまり、プロセッサ群を制御するスレッドディスパッチャは、ある程度2つのコアにまたがって制御を行なうことができるようだ。そのため、2つのコアの演算プロセッサをビジーに保つようにロードバランスを取ることができると考えられる。

●メモリインターフェイスは256-bitのまま

 デュアルコア的な手法でプロセッサコア群を2倍にした結果、Cypressは前世代のRV770と較べて2倍のピーク性能を達成した。単精度浮動小数点演算では2.72TFLOPSで、倍精度でも544GFLOPSとなる。

 この途方もない演算性能は、それに見合うだけのメモリ帯域を必要とする。そこで、AMDはCypressの最上位のコンフィギュレーションであるATI Radeon HD 5870では、転送レート4.8GbpsのGDDR5を採用した。Cypressのメモリインターフェイスは256-bit幅であるため、メモリ帯域は153.6GB/secとなる。

 5Gbps近い転送レートでも信頼性を確保するために、CRCチェックによるエラー検知といったGDDR5のオプションを利用できる仕様となっている。Eric Demmers氏(CTO and AMD Fellow, Graphics Products Group, AMD)によると、DRAMインターフェイスはGPUの中でも、最も多くのエラーが発見される場所であり、今回、全てのトランザクションのエラー検知ができるようになったことで、信頼性が大きく上がるという。

Radeon HD 5800シリーズの演算性能
GDDR5によるメモリインターフェイス

 メモリインターフェイスの幅はダイ(半導体本体)のエッジ長に制約される。信号線を接続するパッドをダイのエッジに沿って配置しなければならず、パッド間の距離を一定に保つ必要があるためだ。インターフェイス幅が増えてパッドの数が増えると、より長いエッジをパッドエリアとして必要とするからだ。

 Cypressのダイサイズ(半導体本体の面積)は334平方mmと比較的大きいため、メモリインターフェイス幅は256-bit以上に広げても充分実装できるだけのエッジ長がある。にもかかわらず、AMDが256-bitに止めた理由としてはいくつかの理由が推測される。1つは、インターフェイス幅を広げると、インターフェイスとDRAM数が増えることでボードの消費電力が上がること。また、将来的に32nmや28nmプロセスに微細化してダイ(半導体本体)がシュリンクした場合にも、アーキテクチャの均一性を保つことができるように配慮した可能性もある。

プロセッサ数の比較

 いずれにせよ、Cypressは、GDDR5を高速に駆動することで、ハイエンドGPUとしては大人しいインターフェイス幅で、かなり広いメモリ帯域を稼ぎ出している。帯域モンスターとは言えないが、かなりの広帯域だ。AMDのDemmers氏は、バランスが取れていると説明する。

 「このメモリ帯域はGDDR5だからこそ実現できた。現実には、これまでの世代は、RV770(HD 4870)もRV790(HD 4890)でさえもメモリ帯域のスターではなかった。しかし、エンジンとのバランスでは前世代はヘッドルームがあり、それが増えた。加えて、ほとんど全てのキャッシュが2倍になった。キャッシュによって、より少ない帯域でよりパフォーマンスを得られるようになった。そのため、今世代では、エンジンと帯域のバランスがうまく取れている」

 ただし、それでも、スーパーコンピュータのような高い演算パフォーマンスを持つマシンと較べると、演算パフォーマンスに対するメモリ帯域は圧倒的に不足している。そのため、メモリアクセスが一定比率以上になると、演算パフォーマンスを活かし切れないため、汎用コンピューティングなどでのアプリケーションによっては、性能ボトルネックが発生する可能性は高い。それを防ぐためには、チップ内メモリでデータの局所性を活かして演算を行なうしかない。

●ROPグループの数を4から8へと倍増させて性能を倍に

 Cypressでは、メモリ帯域に合わせて「レンダーバックエンド(ROP)」も拡張している。RV770では256-bit幅のメモリインターフェイスに、16のROPユニットを備えていた。4つのメモリコントローラに対して、4つのROPグループがそれぞれ1対1で付属していた。Cypressではこれが2倍になっている。4つのメモリコントローラに、8つのROPグループが、1対2で付属している。

 ROPが倍になったことで、ピクセルフィルレートは27.2GPixels/secに達している。Z/Stencilは4倍の108.6GSamples/secだ。ROPの内部には、カラーキャッシュとZキャッシュが付属している。AMDはほとんど全てのキャッシュが2倍になったと説明しているため、これらのキャッシュはROPが増えた分、倍になったと推定される。つまり、各ROPに内蔵されているカラーとZのキャッシュ量は同じだが、ROPが2倍になったため、GPU合計でのカラーとZのキャッシュ量が2倍になったと考えられる。

 エンジンでテクスチャを生成するレンダーツーテクスチャでは、ROPでテクスチャ圧縮したフォームに変換を行なうことができるようになった。そのため、帯域をより節約することができる。マルチサンプルアンタイエイリアシングも、4xAAに対して8xAAが、ばらつきがなく一定レベルのパフォーマンスを保持できるようになった。

 「キャッシュを2倍にしたことは、多分、ROPにとって最大のアドバンテージとなっている」とDemmers氏は説明している。

ROPの構造
マルチサンプル時の性能比較

●アイドル時に27Wの低消費電力

 目立たないながらもCypressアーキテクチャの最重要なポイントの1つは、省電力化だ。今回、AMDはアイドル時の電力を下げることで、通常時の電力消費を抑えた。Eric Demmers氏(CTO and AMD Fellow, Graphics Products Group, AMD)は、その重要性を強調する。

 「Cypressについていいニュースは、パフォーマンスが2倍になっても、消費電力は2倍になっていないことだ。TDP(Thermal Design Power:熱設計消費電力)はラフに言って同じで、アイドル電力は逆に低くなっている。RV770で90Wだったアイドル時の電力が、Cypressでは27Wにまで下がっている」

 フルフィーチャボードのRadeon HD 5870(Cypress)の場合、アクティブ時の電力消費は188W。さすがに、RV770の160Wよりは大きい。しかし、アイドル時は1/3以下の電力にまで下がっている。AMDは、極端な低消費電力化に成功している。

 低消費電力化の背景には複数の技術がある。1つは、チップ設計を最適化して、アイドル状態のクロック供給をカットしたこと。もう1つは、GDDR5のローパワーモードをイネーブルにして、電力消費の大きなメモリとメモリインターフェイスを抑えたこと。

 「チップ内部では、GPU全体で、使っていないユニットの電力を落とすクロックゲーティングを、よりよく行なうようにした。また、GDDR5のローパワーモードをイネーブルにして、Vdd(電圧)とMClock(メモリクロック)を動的にオンザフライで切り替えできるようにした。必要な時にクロックを上げ、必要なくなったらクロックを落とす、これを1フレーム内で迅速に行なうことができる。GDDR5が極めて低速の状態でも、依然としてイメージを表示し続けることができる」とDemmers氏は言う。

 また、ボルテージレギュレータ(VRM)との間のインターフェイスを通じて、VRMの電流量などを監視。リミットに近づいた場合は、GPUをスローダウンさせて、ボードがシャットダウンする事故が起こるのを防ぐ機構も実装された。GPUがスローダウンすることで、数ミリ秒は性能が落ちるが、通常は気がつかない程度だという。また、マルチGPUのCrossFire構成の時に、使われていないボードを「ULPS(Ultra Low Power State)」に置くことで、さらに電力消費を抑えることも可能になった。

 ATIブランドGPUへの、こうしたCPU的な進んだ省電力技術の実装は、CPUメーカーAMDとの合併の成果が生かされているように見える。

4870との消費電力の比較