GPUはグラフィックス処理の高性能化のために発展してきたが、その計算性能の高さから科学技術計算などにも使われるようになり、計算エンジンとしてGPUを搭載したスパコンも出現している。また、AMDのFusionプロセサのように、CPUとGPUを同一チップに搭載するという傾向もみられる。このような状況で、AMDのGPU開発はどこへ向かおうとしているのかをグラフィックス製品グループのCTOであるEric Demers氏とStream Computing担当のディレクタのPatricia Harrell氏に話を伺った。

AMDのグラフィックス製品グループCTOのEric Demers氏

--GPUはどこへ向かうのか方向性を教えてほしい。

GPUは整数演算の固定パイプラインから、浮動小数点演算の採用、ユニファイドシェーダー化と発展し、汎用計算もできるようになってきた。今後もこの方向性は続く。YouTubeなどのビデオ処理やビデオのトランスコーディングなどの処理が多く使われるようになり、GPUコアの重要性は増している。競争は激しく、毎年、新製品を出して性能を上げることが要求されるが、消費電力は増やせないのでテクノロジと省電力設計を頑張ることになる。

--AMDはGPUコンピューティングをどうみているのか?

Demers:NVIDIAは多額の投資をしてきたのに対して、過去には、AMDはあまり投資をしてこなかったが、今はかなりの投資をしている。将来、伸びる分野とみている。

GPUを使う計算に関しては、NVIDIAは独自の言語に投資してきたが、やはり、ソフトウェア業界は標準(オープンスタンダード)の言語を使いたいと考えており、GPUをサポートする動きが鈍かった。OpenCLはNVIDIAがチェアマンを出し、AMDを含めて業界の各社で構成する委員会で制定している標準のプログラム環境である。今後はOpenCLとMicrosoftのDirectComputeが主流になっていくとみている。OpenCLはCPU上でも動き、1つのプログラムの中でも、CPUで処理した方が速い部分はCPUで実行し、GPUが速い部分はGPUというように処理させることが出来る点が優れている。

--GPUを使う計算はプログラミングが難しいことが普及の妨げになっているのではないか?

Demers:顧客に使ってもらうために、GPUの使い方について教えるということにかなりの力を使っている。しかし、それぞれの分野別のライブラリ(Domain Specific Libraries)を使用すれば、自分でGPU向けのコードを書かなくても性能が出せるし、FORTRANやC++などの言語からOpenCLやCTM(AMD GPU用のアセンブラ)を出力するコンパイラも出てきており、環境は改善してきている。

--AMDはFusionを標榜しているが、ディスクリートグラフィックスはどうなって行くのか?

Demers:現状でも市場の55%は周辺チップに組み込まれた組み込み型GPUで、ディスクリートGPUは半分弱という状態である。

現在の組み込みGPUは、まあ、我慢できるというレベルの性能だが、APU(Accelerated Processing Unit)はもっと高い性能を提供する。したがって、ディスクリートGPUの下限を押し上げることになると考えている。しかし、まだ、発売前であり、どの程度の影響があるかははっきりしない。

現状のCPUのメモリバンド幅はせいぜい30~40GB/s程度である。これに対してディスクリートのハイエンドGPUは160GB/sというように4~5倍の開きがある。したがって、すべてがAPUに置き換わることは無く、ディスクリートGPUは無くならない。ディスクリートGPUのユーザはコアゲーマーだけでなく、GPUで構造解析や流体解析をやり、その結果を3次元グラフィックスで表示するというようなワークステーションCADも主要な市場であり、この分野は成長している。そして、この分野ではハイエンドGPUの計算パワーも必要としている。

--FusionのGPUとディスクリートGPUは同じ設計か、それとも違いがあるのか?

Demers:複数のアーキテクチャをサポートすると、設計だけでなく、開発ツールの開発も必要であり、費用的に大変である。どちらも同じアーキテクチャで計算ユニットの数やバス、メモリバンド幅でバリエーションを作る。

--APUは今後、どのようになっていくのか?

Demers:2011年上半期に最初のAPUである「Llano」と「Ontario」を出し、2012年には第2世代の製品を出す予定。CPUとメモリバスを共有することから、40GB/s以下のメモリバンド幅で良い分野はAPUになっていくと見ている。それより高いメモリバンド幅を必要とする分野ではディスクリートGPUが使われる。しかし、APUではCPUとGPUの連携が密になり処理性能が上がる分野も出てくる。例えば、

for(i=0; i<n; i++) {
    for(j=i; j<m; j++) {
    計算処理
    }
}

のように内側のループの指標であるjが、外側のループの指標iの値に依存している場合は今のGPUではうまく処理できないが、CPUと緊密に連携ができると性能を上げられる。

最初のAPUは単純に統合したレベルで、CPUからはドライバレベルで内蔵GPUを使うことになる。しかし、将来の方向としてはより緊密な連携ができるコプロセサレベルで使えるようにしていくことが必要であると考えている。現代のOSの下で動くコプロセサは仮想記憶やコンテキストスイッチなどに適合する必要があるが、現在のGPUはそのような構造になっていない。内容は公表できないが、どのようにするのが良いか検討を行っている。

--AMDのCPUはSOI、GPUはバルクでプロセスが違うがAPUに統合するときにはどうするのか?

Demers:GPUはPlace and RouteのASICメソドロジで作られており、CPUに比べるとプロセスやFabを変えるのは容易。もちろん、ライブラリを切り替えるなど、である程度の時間が掛かるが1~2年のリードタイムがあれば問題ない。一方、カスタム設計の多いCPUでは3~4年掛かる。AMDは今やファブレスメーカーであり、良いFabであればどこでも使っていく。

--HPCに関してNVIDIAのFermiはLevel-1キャッシュの新設やECCを導入したがAMDはどう考えているのか?

Demers:NVIDIAのキャッシュについては詳しく知らないが、コヒーレンストラフィックなどでハードウェアの負担が大きい。しかし、プログラム作成の容易性という点では効果があり、その点では検討に値する。

Harrell:ECCについても検討はしている。ハードウェアの増加に見合う効果があるかどうかが問題。

--話は変わるが、スマートフォンなどの分野はどう考えているのか?

Demers:スマートフォンクラスのGPUを作る技術はある。しかし、複数の市場に展開することはそれだけコストもかかる。したがって、現在はノートPCやタブレットとそれ以上の市場に集中している。

AMDグラフィックスの方向性について

ということで、ディスクリートかAPUかに拘わらず、今後、GPUコアの重要性は増すという認識で、引き続き高性能のコアを開発していく。また、従来の組み込みGPUとローエンドのディスクリート市場はAPUに置き換わるという認識で、APUの開発には多くのエンジニアを投入している。AMDは、CPUとGPUを単に同じチップに入れるだけでは不十分で、より緊密に連携するためにはGPUがコプロセサにならなければならないと考えており、実現方法の検討を進めている。

いずれにしても、AMDがx86 CPUコアを持っていることはNVIDIAには無いアドバンテージである。また、Hot Chips 22でのBobcatコアの発表では、CPUコアもGPUと同様なASICに近い設計メソドロジになっており、Fabやプロセスの移行が容易な体制ができていると感じられた。

しかし、APU化しても従来のCPUと同レベルの価格になると思われ、それでディスクリートの売り上げが減ると全体としては売り上げが減ってしまうのではないかという心配がある。それでもAPU化は、やらないと顧客満足度の低下に繋がる事になってしまう。AMDは、ライバルのIntelのCPU-GPU統合製品を上回る魅力をもつAPU製品を作ってシェアを拡大しなければならないという大きなチャレンジを抱えている。