GPU)の利用が広がりを見せてきた。GPUは、CPUに比べて条件分岐などの処理が不得意であるほかキャッシュメモリを搭載しないなどプログラムの実行には不向き。その分、トランジスタをデータ処理に振り向けており、1つのGPUに計算処理ユニットが100以上も搭載されることもある。このため、物理シミュレーションなど科学計算に向く。GPUとCPUの性能向上比較(出典:NVIDIAのCUDAマニュアル)CPUの処理能力が過去数年で数割ずつしか伸びていないのに対して、GPUの処理能力は年率2倍という、すさまじい進化スピードだ。用途や特性が違うため単純な比較は無意味だが、理論的な計算処理能力を比較すると、CPUが数十GFLOPSであるのに対して、GPUはすでに1チップで500GFLOPSを超える製品がある。高い処理能力の割に安価なグラフィックボードを使い、実際にシミュレーションなどを行う動きは、4年ほど前に始まり、ここ2年ほど急速に普及の気配を見せ始めている。大学や研究機関の研究者たちが試行錯誤でGPUに並列計算を行わせていたが、こうした動きに目をとめた独立系GPUベンダのNVIDIAは、自社製品のハードウェアラインアップとして、2007年6月にGPGPU専用ボードやラックマウント型製品など「Tesla」シリーズをリリース。Architecture)と呼ぶ開発環境の提供を始めた。「GPUで計算したい人たちは、別にピクセルシェーダーの使い方を知る必要はない。CUDAを使うことでC言語を拡張した文法とライブラリで、並列処理プログラムが作れる」。CUDAカンファレンス2008」で講演した同社チーフサイエンティストのディビッド・B・カーク博士だ。博士によれば、すでにCUDAは5万ダウンロードを数え、さまざまな分野で活用されている。CUDAはTeslaだけでなく、NVIDIAの全製品で利用できる。一般的なPCにグラフィックボードを指すだけでHPC環境が実現できるわけで、この手軽さから多くの研究者が計算用途でGPUを使い始めている。「今やほとんどあらゆる分野の科学領域で、計算やシミュレーションを行うことで研究内容を広げられる」(カーク博士)。カーク博士が挙げた実例は、例えば高分子の振るまいをシミュレーションする「NAMD」だ。NAMDは分子生物学などで使われるソフトウェアで7万人以上のユーザーがいる。NAMDでは、数万からときに数十万個の原子を扱うため、クラスタコンピュータを使った場合でも計算に数日かかることがある。GPUを使えば、こうした計算は100〜200倍に高速化できるという。CPUと4つのGPUで構成したシステムでNAMDを使うと、その計算能力は1TFLOPSに達するという。GPU追加によるスケールアップの効率は99.7%と、ほぼリニアに性能が伸びたという報告がある(参考リンク)。MathWorks社製の数値計算向けスクリプティング環境「MATLAB」もGPUの利用によって17倍高速になるという。MATLABは行列やベクトルの演算を行うライブラリからなり、多くの研究者に利用されている。濱田剛氏によれば、日本国内では「N体問題」と呼ばれる物理シミュレーションの分野で、早い段階からGPGPUの利用が始まっているという。N体問題は重力など互いに相互作用を及ぼし合う物質の系の時間発展をシミュレーションする分野で、銀河同士の衝突や流体の解析などを行う。日本では1990年に東京大学の天文学者らが作成した重力計算専用のスーパーコンピュータ「GRAPE」と、その活用の歴史が長いため、GPGPUの利用においても先行している面があるという。「GPGPUとGRAPEのアイデアはほぼ同じ。GRAPEで試行錯誤してきたノウハウが、GPGPUでも使える」(濱田氏)といい、この分野での日本の研究者からの貢献が期待されているという。濱田氏は講演で銀河衝突のデモンストレーションを行った。約6000個の質点を含む銀河が2つ衝突するシミュレーションをCPUで計算した場合、2秒間で1コマ進むという速度だったものが、GPUに切り替えたとたんに滑らかなアニメーションとなって銀河がうねりだした。実測値でCPUが0.2GFLOPS程度であるのに対して、GPUでは270〜470GFLOPSという値を叩きだした。濱田氏が行った銀河衝突のシミュレーション。GPGPUの応用分野は広いが、皮肉なことにカーク博士は、GPGPUが最も得意とするキラーアプリケーションの1つは「グラフィックスだ」という。博士がいうグラフィックスは、従来のコンピュータグラフィックスとは異なる。従来のポリゴンやシェーダを使ったグラフィックスを“コンベンショナル・グラフィックス”、GPUによって初めて可能になるグラフィックスを“コンピュテーショナル・グラフィックス”と博士は区別して呼ぶ。翡翠や人間の肌のように、光が素材に浸透して、そこから再び色がついて反射光となるようなものは、その素材の質感をリアルに再現するのが難しかったが、プログラマブルなGPUを使うことで、今までは考えられなかったほどリアルなグラフィックスを、リアルタイムに扱えるようになるという。古くから使われているレイトレーシングのグラフィックスにも、GPGPUが新たな光を当てるという。光源からの出た光線を、物体に当たるまで追跡してグラフィックスを描き出すレイトレーシングは現実世界の光のあり方とは大きく異なるという。音が部屋に反響するように、光も壁や床で反射を繰り返して全体がぼんやり明るいグラデーションに包まれる。カーク博士は「こうした“グローバル照明”がないことが、現在のレイトレーシングのグラフィックスがリアルに見えない理由」という。GPGPUを使えば、膨大な計算が必要なグローバル照明も、リアルタイムで描画が可能になるという。肌の質感を再現したグラフィックス。Inc.著作権はアイティメディア株式会社またはその記事の筆者に属します。(著作権について)当サイトに掲載されている記事や画像などの無断転載を禁止します。@IT情報マネジメント」「JOB@IT」「@ITハイブックス」「ITmedia」は、アイティメディア株式会社の登録商標です。当サイトに関するお問い合わせは「@ITへのお問い合わせ」をご覧ください。