NVIDIAは7月16日、都内でGPUコンピューティングに関するセミナー「GPUコンピューティング 2010」を開催、基調講演には同社FeloowのDavid B.Kirk氏、および東京工業大学でGPUスーパーコンピュータ「TSUBAME2.0」などに関わる学術国際情報センターの松岡聡教授と同青木尊之教授の3名が登壇した。また、セミナーに併せて、DELLやIBM、NEC、マイクロソフト、フィックスターズなど35社のメーカーがブースを構え、自社のGPUコンピューティングソリューションの展示を行うなど、各社ともにGPUコンピューティングに一目置いていることが窺えた。本レポートでは、Kirk博士の「GPU Computingが劇的に変える科学技術の未来」と題した講演した内容をお届けしたい。

あらゆる分野で活用が進むGPUコンピューティング

NVIDIA FeloowのDavid B.Kirk氏

ご存知のとおりGPUは元々、映像を表示するためのものであり、「それは処理速度向上の技術の発展によってもたらされてきた」(Kirk氏)。映像を作るためには細かなシミュレーションを行う必要がある。しかも、それはより細やかな画像へと進化させていくためには、素材や光などの演算を正確に、かつ高速に行う必要があり、「結果として、より強力な並列演算が求められるようになり、それが汎用演算として活用されるようになってきた」(同)というのがGPUコンピューティングの経緯であり、現在では幅広い分野で活用が進められている。

GPUコンピューティングの導入は至る所で進んでおり、スーパーコンピュータのTop 500の2010年6月版において、GPUを搭載した中国のスーパーコンピュータ「Nebulae」が2位にランクインしたことも記憶に新しい。「スーパーコンピュータの多くが数を増やして、電力を高めることで性能を向上させている。しかし、そうした肥大化は奨励できることではない。GPUコンピューティングを活用すれば、省スペースかつ低コスト、そして低消費電力を実現しつつ高い演算性能を発揮することができる。Nebulaeはそういった方向性を示したもので、将来的によりインテリジェントに価格対電力や性能を高め、かつ1ラックに搭載できる数を増加させるといった意味では、GPUはベストな選択肢となる」と説明する。

GPUコンピューティングを用いたスーパーコンピュータがTop500の上位にも登場するようになってきた

2010年6月のTop500では、まだGPUコンピューティングを活用したスーパーコンピュータは少ないのが実情だが、世界各地でGPUを活用しようという研究が進められており、日本でも同様の活動が進められている。「すでに1000以上のGPUクラスタが世界で構築されており、SDKのダウンロード数もすでに20万件を超え、334の大学でNVIDIAのGPUを活用した並列プログラミングの講義も開始されたほか、CUDAを使いたい人向けの書籍なども世界で登場してきている。こうした背景を踏まえれば、今後もGPUコンピューティングのコミュニティへの参加者は増えるだろう」。

世界各地の大学で並列プログラミングの講義が行われるようになりつつあるほか、GPUクラスタも各地で構築されている

「現在、CPUとGPUの演算バランスをとって、ハイブリッドで活用していくのが、コンピューティングの流れになっている」とKirk氏は説明する。NVIDIAとしては、CUDAの提供を行うことでGPUコンピューティングのユーザーを増やす努力をしているが、「CUDAはNVIDIAのものだ、という人もいるが、我々はNVIDIAもCUDAエコシステムの一部だと考えている。すでに複数の大学などから、例えばCのソースコードをマルチプロセッサ対応のものに変換するツールなど、さまざまなCUDAを活用できるツールが登場してきており、CUDAを動作させる方法もNVIDIA以外のものを含めれば4種類に増えている」ということで、仮にNVIDIAがもし、明日なくなっても心配することはないというのがKirk氏の主張するところとなっている。

CUDAをCPUでも効率的に動かせるツールなども登場している

また、GPUコンピューティングで注目されるパフォーマンスには3つの観点があるという。1つ目はパフォーマンスそのもの。2つ目はパフォーマンス対コスト、そして3つ目はパフォーマンス対電力である。「いずれもCPUとの性能比で、数倍から数百倍の向上が見込める。もちろん、並列化に向かない演算もあるが、それでも我々の現在のアーキテクチャは、1世代前のアーキテクチャに比べて、2倍の性能向上を果たしている。今、CUDAで性能が出ない場合でも、将来には高速に処理ができるようになる可能性がある」ことを指摘する。

CUDA対応アプリケーションは年を経るごとに増えていっている

加えて、「処理速度が速くなるということは、アプリケーションそのもののパフォーマンスが変わり、新しい活用が可能になってくる」ことも指摘する。処理速度が劇的に改善することで、これまでとは異なるアプローチをとりながら、従来と同程度の速度で処理を終えることも可能となる。これにより、「例えば、バイオの世界。薬のテストや疾病の機構解析、分子分析などが可能となる。成分を個々別々に選択し、1人ひとりに対応した薬もできるようになるかもしれない」。こうした、これまでできないことができるようになる可能性として、「数学的アプローチを変え、特定分野に対してCUDAで最適化を図ることで、新たな側面からの取り組みが可能になる」という。

MRIなどは通常、水素(H)の位相や周波数の変化を観察するが、それでは人体の細胞の健康状態などを知ることはできない。ナトリウム(Na)を活用すでば、そうしたことも理解できるが、人体においてNaの量は微量でより高精度なMRIが必用になる。そのため、計測方法を変える必要があるが、演算速度の問題で現実的ではなかった。GPUコンピューティングを活用することで、従来と同程度の時間で、Naを活用したMRIが臨床診断(すでに研究レベルではNaのほか、PやCを用いた画像化が行われている)に普通に用いられるようになるという

Kirk氏は、こうした新たなアプローチを実現するGPUコンピューティングには3つのインパクトを与える存在と説明する。1つ目は「レガシーコードの高速化」。2つ目は「古いソフトウェアから並列に最適化された新しいソフトウェアへの書き換えの促進」、そして3つ目が「アルゴリズムや演算方法の再考による、従来とは異なる観点にとる新たなアプローチ手法の確立」という。

特に、この新たなアプローチ手法の確立ということが、科学技術を進歩させていく上では重要であり、「GPUコンピューティングを活用することで、これから先の未来、科学技術をより面白い世界に変えていくことができる。少なくとも私はそう信じている」と、半導体技術の進歩による演算性能向上とHPCに関連するアーキテクチャなどの進化がかみ合うことで、より高度な科学技術が推進されていくことが期待されることを強調。より多くの人にCUDA、そしてGPUコンピューティングを活用してもらうために、NVIDIA1社のみとしてではなく、あらゆる人達を交えて、GPUコンピューティングはエキサイティングなものであることを世に示していく取り組みが必要だとした。