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

5年後に“GPUスパコン”の時代がやってくる!?




●MicrosoftはGPUの汎用プロセッサとしての利用を視野に

 「興味深いのは、人々が考えるGPUの使い方が、大きく変わりつつあることだ。実際、我々がSIGGRAPH(CGカンファレンス)で発表した論文の多くは、GPUを伝統的なグラフィックスパイプラインとして使うだけでなく、もっと汎用的な演算、シミュレーション、解析などに使うというものだった。非伝統的なグラフィックスレンダリング、シミュレーションや物理計算、フロントレンダリング、ディスプレイマネジメントやマニピュレーション。多くのことにGPUを使い始めることができる」。

Microsoft Research Dr. Richard Rashid博士

 Microsoftの研究開発部門Microsoft Researchを束ねるDr. Richard Rashid(リチャード・ラシッド)博士(Senior Vice President, Microsoft Research)は、2003年10月のProfessional Developers Conference (PDC)で、このように語った。つまり、Microsoft ResearchはもはやGPUをグラフィックスレンダリングのためだけのプロセッサとは見ていない。もっと汎用的な処理ができるプロセッサと考えているわけだ。

 PDCのRashid氏の基調講演では、SIGGRAPHでMicrosoftが発表した論文の一部を紹介。グラフィックス制作の中で従来はCPUでしか実行できなかった処理を、GPUを使って実現した例を示した。そして、さらにその先では、非グラフィックスの汎用用途の演算にGPUを使う研究を進めているという。

 つまり、CPUよりGPUにやらせた方が効率的な処理を、積極的にGPU側に持って行こうと考え始めたのだ。Microsoft ResearchはGPUを、PCの中の第2の汎用プロセッサとして認識し始めたと言ってもいい。

 こうした姿勢は、MicrosoftのマルチメディアAPI「DirectX」チームにも見て取ることができる。MicrosoftのChas. Boyd氏(Graphics Architect, Windows Gaming & Graphics)は2003年9月に東京で開催されたゲーム開発カンファレンス「CEDEC」で、Shader 4.0について言及した。その中でも、GPUが汎用プロセッサ用途へと向かう方向性が示されている。

 例えば、メディア圧縮やメディアオーサリング、非リアルタイムレンダリング、より一般的なアプリケーションへの適用が顧客からの要請で出てきていると言及。次期DirectXでは、新たなGPUの用途に応じた新機能を提供して行くとプレゼンテーションで示した。実際にはBoyd氏はグラフィックスパイプ以外へのGPUの適用についてはほぼ触れなかったが、非レンダリング領域をカバーする方向性はここにも見える。

PDCでのスライド
GPUは、より汎用な用途へ利用可能
写真撮影 塩田紳二氏
CEDECでのスライド
DirectXグラフィックスの動向
CEDECでのスライド
GPUがカバー可能な範囲

●業界の最先端もGPUの汎用化を予測

 GPUが汎用プロセッサへ向かうという認識は、Microsoftだけのものではない。グラフィックス業界の一部からも、似たような意見が聞こえ始めている。例えば、7月に開催されたCGカンファレンス「SIGGRAPH 2003」では、GPU上でのコンピューティングについての論文発表のコーナー「Computation on GPUs」が設けられた。

 ここでは、GPUを使って、シミュレーションやイメージベースモデリングなどを行なう論文が発表された。また、昨年のSIGGRAPH 2002では、レイトレーシングをGPU上で行なう論文も発表された。いずれも、従来はCPUで行なわれていた処理を、GPU上で行なうことで処理を高速化するという方向の研究だ。

ATI Technologies David E. Orton社長兼COO

 さらに、GPU業界のビジョナリ達からも似たような声が聞こえて来た。例えば、ATI TechnologiesのDavid E. Orton(デビッド・E・オートン)社長兼COOは「グラフィックスエンジンを使って、一般的なベクタ演算、レイトレーシング、イメージプロセッシング、シグナルプロセッシングなどをやらせようという動きが起き始めている」と語る。

 また、NVIDIAのDavid B. Kirk(デビッド・B・カーク)氏(Chief Scientist)も「将来には、GPUもコンピュータワールドの完全な市民になると予想している」と言う。

 つまり、GPUが汎用プロセッサへの道を進んでいるというのは、GPU/グラフィックス業界の最先端の部分では、すでに共通認識になり始めているわけだ。

 こうしたトレンドの背景には、GPUハードウェア自体のプログラマブル化がある。GPUはプログラマブルな演算ユニット群「Programmable Shader」を搭載したことで、汎用プロセッサ化が進み始めた。ハードワイヤードな3Dパイプラインから、プログラマブルエンジン(Shader)に変わったことで、汎用的な処理が視野に入ってきた。より柔軟なプログラマブルエンジンへと進化することが、汎用化の道筋だった。

 今後、DirectX 10(Shader 4.0?)やDirectX 11で、こうした方向はますます強まると見られている。また、現在汎用化の壁のひとつになっているPixel Shaderの内部演算精度の問題も、2004年には32bitへの移行が進むことで解決して行くと見られている。

 汎用化が進めばCPU上の処理をGPUに持ってくることが可能になる。そして、その場合、処理によってはGPUはCPUよりもずっと効率が高くなる。それは、GPUの方がCPUより並列度がはるかに高いからだ。

 GPUのShaderはSIMD(Single Instruction, Multiple Data)型の演算ユニットで、CPUが搭載するSSE/SSE2ユニットとほぼ似たようなものだ。Pentium 4はSSE/SSE2ユニットを1個しか搭載していないのに対して、GPUによっては最大12個(RADEON 9700/9800系)のShaderを搭載する。つまり、6倍の周波数差があっても、12倍の演算ユニットによって高効率に処理できるというわけだ。

●PC上の処理をCPUからGPUへと移行

 では、GPUでは今後どんな処理が可能になるのか。グラフィックスパイプラインで、現状でGPU上では実現できていない処理がGPUへとどんどん移行して行くのは確実にトレンドだ。しかし、将来的にはそれ以上の、レンダリング以外の処理がGPUで実現されて行くだろう。

 現状で見えている明確な例はデジタルビデオのエンコード処理だ。例えば、NVIDIAなどは、MPEG-2フォーマットのエンコード処理をGPU側に持って来つつある。「Pixel Shaderのプログラムがビデオのエンコードとデコードの両方を支援する。誰もがGPU上で、デジタルビデオレコーディングやタイムシフティング、オーサリングなどをするようになる」とNVIDIAのKirk氏は以前語った。

 Pixel Shaderはプログラマブルなので、ハードウェアエンコーダと異なり、MPEG-2だけでなく、MPEG-4など他のフォーマットにも理論的には対応できる。「Shaderは高度にプログラマブル化されたエンジンだから、誰かがPixel ShaderでMPEG-4エンコードを実現する方法を見つけたとしても驚かない」とNVIDIAのBill Henry氏(Director, Mobile Products Management)は言う。ヘビーなMPEG-4やDivXのエンコードを、将来はGPUを使って高速処理できるようになるかもしれない。

 このほか、フォトレタッチのようなイメージング処理もGPUで高速処理できる可能性が高い。オーディオやスピーチのプロセッシングもGPUで行なわせることが可能だと言われている。また、シミュレーションや物理演算もShaderを応用できる領域だ。もっとも、Shaderを多用する3Dゲーム中でこうした処理をGPU側に持ってくるのは難しいかもしれないが。

 結局のところ、GPUが汎用的なSIMD演算プロセッサになれば、SIMD演算が向いている処理は何でも持って来ることができる。考え方としては、一昔前に流行ったメディアプロセッサをPCに載せた状態に近い。

●GPUの新領域レンダリングサーバー

 だが、GPUが狙う領域はクライアントPC側だけに留まらない。むしろ、サーバー領域で新しいチャンスをうかがっている。

 1つは前にもこのコラムで紹介したレンダリングサーバー用途だ。オフラインCGは、映画向けの高品質なCG制作のために、レンダーファームと呼ばれるサーバー群を使う。サーバーCPUを多数使って、高度にプログラム性が必要なレンダリングをやらせている。GPUベンダーは、この市場をGPUに移行させようとしている。プログラマブルなGPUなら、オフラインCG制作の最終レンダリング用途に使える。それなら、GPUを多数搭載したサーバーで、レンダーファームを構成できるというわけだ。

NVIDIA David B. Kirk氏

 「実際に我々は映画スタジオと協力して、彼らのCG制作プロセスをGPUに移行できるように手伝っている。いったん彼らのデータフローをアレンジしてしまえば、彼らはGPUを使って映画を作れるようになる。そうしたら、彼らのサーバールームには、GeForce FXマシンが並ぶことになるだろう。多分、そのマシンは複数のGPUを搭載しているだろう」とNVIDIAのKirk氏は言う。

 また、ATI TechnologiesのAndrew B. Thompson氏(Director, Advanced Technology Marketing, ATI Research)も次のように語る。

 「レンダーファームは、現在、IntelやSun MicrosystemsのCPUを使っている。これは、一種のブルートフォース(力業)的なアプローチだ。我々はこれらのCPUをグラフィックスプロセッサで置き換え、もっと効率的にレンダリングすることができるだろう。もちろん、それがすぐにできるとは思わない。しかし、2~3年のうちには、必ずそれ(GPUを使ったレンダリングファーム)を見ることができるだろう。

 そのために重要なのは、高精度(ピクセル)と、非常に長いシェーダ(プログラム)のサポートだ。それさえ提供されれば、人々はレンダーファームを(GPU)で作り始めることができる。これは、業界の明確な方向性だ」。

 レンダーファームへのGPUの投入は、かなり早い段階で始まると推測される。NVIDIAのJohn Spitzer氏(Director of Developer Technology)は、同社がPCI Express世代でそうした展開を考えていると言う。つまり、2004年から始まることになる。

●GPUスパコンへの道

 このコラムでは、サーバー分野でのGPUベンダーの野心はレンダーファームにあると以前書いた。しかし、実際には話はそんな小規模なものではなかった。GPUベンダーは、もっと大きな領域を視野に入れていた。それは、科学技術演算の領域だ。彼らは“GPUスパコン”を目指している。

 従来スーパーコンピュータやクラスタサーバーでCPU群が処理している高度な科学技術系の演算も、将来にはGPUがより効率的に処理できるようになる。ここへ来て、こういうビジョンが浮かび上がってきた。それは、科学技術演算で必要とされる要素と、GPUが備えるプログラム性の親和性が高いからだ。

 ATI TechnologiesのDavid E. Orton(デビッド・E・オートン)社長兼COOは次のように語る。

 「(PCなどのCPUが処理する)従来型のソフトウェアは、分岐や条件分岐命令などによって、規則性の薄いパターンを多く含む。そのため、並列に処理するのが難しい。それに対して、グラフィックスのソフトウェアは、かなり規則性がある。ほぼ直線的なプログラムだ。だから、グラフィックスプロセッサのエンジンを並列化するのは非常に容易だ。

 ところが、面白いことに、科学技術演算のプログラムも、(グラフィックスプログラムと)同じような振る舞いをする。直線的で規則性がある。だから、ベクタスーパーコンピュータが現在行なっているような処理は、グラフィックスプロセッサでもできると思う」。

 科学技術演算では、ベクタ型スパコンや大規模にクラスタ結合されたサーバー群が使われる。ベクタ型スパコンがこの領域で使われるのは、演算のほとんどが一定のデータ群に対して繰り返し同じ処理を行なうタイプだからだ。そのため、ベクタ/SIMD型のプロセッサで、データレベルで並列化することで処理を高速化できる。

 そして、GPUも同タイプのデータを扱うため、同様の方向へ進化している。だから、GPUが、ベクタ/SIMD演算ユニット(Shader)を高い並列度で搭載した汎用プロセッサになるなら、それに科学技術演算をやらせようというのは、むしろ自然な流れかもしれない。GPUを複数搭載したサーバーをクラスタ結合させてベクタスパコン並みの処理を目指す、GPUスパコンのプロジェクトが出てくる可能性は確かにある。

 GPUスパコンは、経済的にも理にかなう可能性がある。現在、科学技術演算ユーザーの多くは、デュアルプロセッサクラスの廉価なサーバーをクラスタ構成で結合して演算を行なわせている。こうした構成では、スパコンよりもはるかに低コストに、高いCPU演算能力を得られるからだ。

 しかし、CPUよりもベクタ/SIMD演算ユニットの並列度が高いGPUを使えば、1つ1つのノード内の演算の並列性はさらに高くなる。より高パフォーマンス/コストのベクタ/SIMD型プロセッサの科学技術演算サーバーができるというわけだ。

●GPUとCPUのパーティショニングは?

 もし、GPUがこうした「HPC(ハイパフォーマンスコンピューティング)」市場に入るとすると、GPUはサーバーCPUとも競合し始めることになる。例えば、AMDのOpteronはHPC市場を初期のメインターゲットにマーケティングを進めてきた。だが、GPU側は決してCPUを置き換えるわけではないと強調する。

 「パーティショニング問題、つまり、GPUがCPUを脅かしつつあるという見方は確かにある。なぜなら、ある種のアプリケーションはCPUからGPUへと移る可能性があるからだ。

 論理的にはその意見は正しい。しかし、実際にはGPUはやはりある種の専用化されたエンジンで、CPUとは異なる。CPUとGPUは棲み分け、GPUがCPUにとって脅威とはならないと思う。おそらく、科学技術演算のコミュニティは、汎用のCPUと特化したGPUの組み合わせという方向へと向かって行くと思う」とOrton氏は言う。

 これも当然で、GPUでCPUの代用はできない。考えられる構成は、1個のCPUと複数のGPUを搭載するノードのクラスタ結合になるだろう。

 というわけで、GPU業界はいよいよGPUスパコンまで視野に入れ始めた。もちろん、GPUベンダがこうしたサーバー領域にフォーカスしているわけではない。彼らの中心はあくまでもクライアント側のGPUだが、新市場として可能性を見いだしていることは確実だ。

 「レンダリングサーバー市場は、ボリュームの面ではデスクトップPC市場とは比べものにならないほど小さい。我々が主に見ているのは、年間1億ユニットのPC市場で、ワークステーションの4~500万の市場は、興味深いが、我が社をそこにフォーカスさせるほどの規模ではない。とはいえ、科学技術演算コミュニティ、レンダリングコミュニティ、どちらにも面白い可能性はあると思う」とATIのOrton氏は語る。

 GPUの新しいフロンティア。それがGPUスパコンだ。

□関連記事
【7月2日】【海外】AMD用チップセット市場の制覇を狙うNVIDIAの次世代戦略
http://pc.watch.impress.co.jp/docs/2003/0702/kaigai01.htm
【4月22日】【海外】なぜNVIDIAはGeForce FXでデータ精度を重視したのか
http://pc.watch.impress.co.jp/docs/2003/0422/kaigai01.htm
【4月7日】【海外】違いは小さいが方向性が異なるRADEON 9800とRADEON 9700
http://pc.watch.impress.co.jp/docs/2003/0407/kaigai01.htm
【2002年12月18日】【海外】製造コストが非常に高い? GeForce FXの勝算
http://pc.watch.impress.co.jp/docs/2002/1218/kaigai01.htm

バックナンバー

(2003年12月26日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c) 2003 Impress Corporation All rights reserved.