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

AMDの6画面テクノロジ「ATI Eyefinity」の背景



●最大268Mピクセルの表示が可能なマルチディスプレイ技術

 「たった1枚のグラフィックスカードが6ディスプレイを駆動する。1台のPCで、最高で268Mピクセル相当の解像度という、信じられない再現度を実現できる。ある計算では、これは人間の眼の90度の視野(のピクセル数)に相当するという」

 AMDのRick Bergman(リック・バーグマン)氏(Senior Vice President and GM, Products Group, AMD)は、同社の新GPUに実装された多画面技術「ATI Eyefinity」テクノロジをこのように形容した。ATI Eyefinityでは、1カードで最大6ディスプレイ、4カードを挿せば1台のAMD PCで最大24個のディスプレイの表示が可能になる。マルチディスプレイ技術と言っても、これまでの2~3ディスプレイといったレベルとは大きく異なる。

AMDのRick Bergman氏1台のPCで268Mピクセルを実現
これは人間の眼の90度の視野のピクセル数に相当4 GPUで24ディスプレイも可能

 268Mピクセルは1台のPCでの技術上の理論値で、実用になるピクセル解像度はそれより低い。しかし、1枚のビデオカードで、1080p(1,920×1,080= 2.1Mピクセル)ディスプレイなら楽に6ディスプレイをサポートできる。1カードで解像度ではその2倍がサポート可能で、2,560×1,600ピクセルを6台相当になるという。

発表会は退役空母ホーネットの中で行なわれた

 こうなると、単なる多画面ではなく、マルチディスプレイによるディスプレイウォールのような使い方が見えてくる。米カリフォルニア州アラミダ(サンフランシスコの対岸)の退役空母ホーネット(博物館として公開されている)内で行なった発表会場には、さまざまなマルチディスプレイ構成が展示され、ATI Eyefinityの可能性を見せた。

 もっとも、ATI Eyefinityの多画面出力は、突飛な技術ではない。一般論で言えば、ここに来て、実現しやすい条件が整いつつある。それは、ディスプレイ側のデジタル化とGPUのピクセルプロセッシング能力の向上、そしてGPUのメモリ帯域の拡張が進んでいるからだ。つまり、「より多くのピクセル」が実現できる環境が整ったことを意味している。

●実装が容易になった多出力インターフェイス

 まず、GPUダイ(半導体本体)上での、ディスプレイ出力インターフェイスの実装という面では、ディスプレイのデジタル化の意味が大きい。ディスプレイインターフェイスがアナログの時代に、GPUがアナログ出力を増やそうとすると、DAC(Digital-Analog Converter)を増やす必要があった。ところが、DACは部分的に微細化によるスケールダウンが効きにくく、GPUのような高速デジタル回路とも相性が悪い。GPU設計がやっかいになり、ダイも大きくなりやすい。

 それに対して、デジタル出力はずっと実装が簡単だ。また、一般に、プロセスが微細化すると、トランジスタが高速になる分、高速デジタルインターフェイスの実装は容易になる。また、高速インターフェイスとはいえ、アウトプット一方向だけなので、内部バスやバッファ、スイッチの設計も容易なはずだ。

 また、Rick Bergman氏は、これまで6画面出力が難しかったハードウェア上の理由としてプロセッシングパフォーマンスを挙げた。この場合のプロセッシングは、シェーダプロセッシング能力も大きく関係するが、最終的にはピクセル打ち込みのプロセッシング部分の能力となる。つまり、どれだけ多くのピクセルをレンダリングできるかが、重要となる。

 そして、どれだけ多くのピクセルをレンダリングできるかは、GPUのロジックの能力だけでなく、メモリ帯域にも制約される。ピクセルを外部フレームバッファにストアする以上、メモリオペレーションになるからだ。メモリ帯域の制約がきついと、物理的に6出力を設けても、出力の制約のきついものになってしまう。逆を言えば、AMD(ATI)はこの問題を解決できたから、6画面出力を達成できるようになったとも言える。

 つまり、GPUがより多くのピクセルを出力できるだけのプロセッシング能力を持つようになり、また、それだけのプロセッシングを行なうだけのメモリ帯域が確保できるようになった。より多くのピクセルプロセッシングとより広いメモリ帯域が、ATI Eyefinityの背景にあると考えられる。

ディスプレイの配置は柔軟な構成が可能で、これは縦向きで1×3横向きで1×3
横向きで2×3横向きで1×3+1

●より多いピクセル対より良いピクセル

 ここで興味深いのは、もともとGPUのプログラマブル化は、メモリ帯域の拡張が行き詰まるという認識で始まったことだ。例えば、NVIDIAはシェーダプロセッサの搭載について、7年前に、当時のChief ScientistだったDavid B. Kirk(デビッド・B・カーク)氏は次のように説明していた。

 「DRAM側の技術という大きな制約のため、今後はメモリ帯域がそれほど急激に向上しないという枷が(GPUには)ある。これはディスプレイサイズとのバランスだからOKなのだが、メモリ帯域によってGPUのデータフロースルーは限られてしまっている。ところが、GPUは毎世代、搭載するトランジスタが増える。そうすると、問題は、その増えた分のトランジスタをどう使うかという話になる。つまり、データフロースルーは増やせないが、ピクセルと頂点のプロセッシングパワーは増やすことができると。そうすると、論理的な帰結は、より多くのピクセルを処理するのではなく、より良いピクセル処理に向かうことになるだろう。そして、それは、プログラマブルなプロセッシング能力を増やすことになる」

 つまり、GPUはメモリ帯域の制約の中で、増える演算能力を活かすために、プログラマブル化をスタートさせた。GPUの中でデータをレジスタ間演算でぐるぐる回せば、メモリ帯域を食わずにプロセッシング能力を活かすことができる。さらに、GPU内部のメモリ階層を改良(スクラッチパッドメモリの導入)して、内部メモリでデータ局所性を利用できるようにした理由の1つも、外部メモリ帯域の制約だ。「より多くのピクセル」よりも、「より良いピクセル」が、GPUプログラマブル化の理念だった。

 しかし、ここへ来てのAMDの流れは、より多くのピクセルという点で、異なる方向に来ているように見える。つまり、予想と異なる展開になっている。

●予想を上回ったメモリ帯域の向上

 この背景にはいくつかの要素がある。まず重要な点は、ハイエンドGPUがサポートするGDDR系メモリの高速化がそれなりに急激なペースで進展したことだ。現在GDDR5は最高6Gbps/pin台の転送レートを目指して、継続的に高速化を続けている。転送レートでは、メインメモリのコモディティDRAMの約3倍にまで上がっている。以前は、グラフィックス用メモリの転送レートは、コモディティDRAMの2倍程度だった。2011年には6.4Gbps/pinで、256-bitインターフェイス時に204.8GB/secというメモリ帯域になる計算だ。ハイエンドGPUでは、10年で20倍以上にメモリ帯域が増える計算になる。

 GDDR系メモリは、DDR系メモリと同様にシングルエンデッド信号(Single-ended Signaling)方式を使っている。6~7年前は、多くの業界関係者が、高速時の信頼性確保などが難しいシングルエンデッドメモリがここまで高速化するとは予測していなかった。メモリ帯域の向上は、もっとフラットになるか、より大きく難しい技術ジャンプが訪れると予想されていた。壁があると考えられたから、より多くのピクセルより、より良いピクセルというGPUアーキテクチャの転換が推進された。

 ところが、今は、GDDR5が、原理的に高速化が容易なディファレンシャル信号(Differential Signaling)方式のXDR DRAMと並んでいる(消費電力やレイテンシではGDDR5が不利)。GPUの場合は、上位の製品であっても、下位のビデオカードでの構成で使うローコストなメモリとの互換性を保つ必要がある。そのため、コモディティのDRAM(DDR3など)がシングルエンデッド方式である限り、上位のGPUもシングルエンデッド方式のメモリを採用せざるを得ない。DDR3などと互換性の取れないディファレンシャル信号方式のメモリは採用しにくい。そうしたGPUにとっては、シングルエンデッドのGDDRが発展し続けたことが、メモリ帯域拡大に大きく寄与している。

 さらにつけ加えると、GDDRの発展の背景には、JEDEC(米国の電子工業会EIAの下部組織で、半導体の標準化団体)での規格化がある。そして、JEDECでGDDRを引っ張り続けたのはATI Technologies(合併後はAMD)だった。そうした事情から、AMDは最新GDDR系メモリの採用に熱心で、勢いインターフェイス幅に対してのメモリ帯域の向上にフォーカスしてきた。

 まとめると、AMD(ATI)は、より多くのピクセルのために、より広いメモリ帯域にこだわり続けてきた。結果的にはNVIDIAも似たようなことをしているのだが、AMD(ATI)の方がその意識が強い。例えば、ATIが開発したXbox 360 GPU(Xenos)のeDRAMチップの搭載にも、その思想が現れている。そして、ATIの“より多くのピクセル”思想の、最新の成果が、ATI Eyefinityとして結実したと言える。

AMDが昨年(2008年)示したメモリ帯域のチャート。図中で「Yellowstone」となっているのはRambusのXDR DRAMのこと

●汎用コンピューティングの性能にも関係するATI Eyefinity

 別な視点から見ると、ATI Eyefinityを可能にしたメモリ帯域は、GPUの汎用コンピューティング利用でも重要な鍵となる。なぜなら、ワークロードのデータセットが巨大なアプリケーションの場合、メモリ帯域がパフォーマンスにとってクリティカルな要素となるからだ。

 そして、GPUが得意とするデータ並列化が可能なアプリケーションでは、データセットが巨大になるケースが非常に多い。そのため、通常のCPUのようなそこそこの容量のキャッシュが役に立たないアプリケーションが多い。だから、メモリ帯域が鍵を握る。

 つまり、ATI Eyefinityはグラフィックスの技術だが、その背景技術は、GPUの汎用コンピューティングの効率にも影響している。より多くのピクセルは、イコール、より多くのデータであり、GPUの汎用利用への扉となる。

 そして、今後のメモリ帯域の行方は、プロセッシングパフォーマンスを増やし続けるGPUの、汎用コンピューティング性能を左右する。スーパーコンピュータはメモリ帯域モンスターであり、GPUが、パフォーマンス的に、そのスパコンに近づくためには、メモリ帯域の継続的な拡張が必要になる。

 しかし、ここでもう少し引いたところから見ると、ATI Eyefinityの流れも、一種のピークであることがわかって来る。それは、シングルエンデッド技術でのメモリ転送レートの向上には限界があると言われているからだ。現状のGDDR5も、技術的には無理を重ねており、なによりも、消費電力的に限界点に近い。

 将来のGPUが、DRAMの3Dダイスタッキングなどでメモリ帯域問題を解決できれば、次の展望が見えてくる。スパコンがDRAMスタッキングを展望しているように、GPUもその方向を目指すことになるだろう。TB/sec単位のメモリ帯域が手に入れば、根本から変わるからだ。

 汎用コンピューティングなら、スタックしたDRAMに収まるデータセットについては、帯域を気にする必要がなくなる。グラフィックスなら、ニーズがある限り、実装が許す限り、何画面でも出力できるハイパーEyefinityが可能になるだろう。