PR

 エヌビディアは2010年8月30日、「CUDA」(クーダ)のプログラミング講座「高校生のためのCUDAサマーキャンプ」を開催した。CUDAはグラフィックスチップ(機能)内の演算器を描画だけでなく汎用演算に使うNVIDIA独自の技術や環境。2009年8月に続き2回目の開催で、首都圏だけでなく関西や東海地区などから32名が参加した。

エヌビディアが開催した「高校生のためのCUDAサマーキャンプ」。参加は無料だが、制御構造を活用したプログラムが書ける、ポインターを理解している、行列計算のプログラムが分かるなど、前提知識はそれなりに必要。
エヌビディアが開催した「高校生のためのCUDAサマーキャンプ」。参加は無料だが、制御構造を活用したプログラムが書ける、ポインターを理解している、行列計算のプログラムが分かるなど、前提知識はそれなりに必要。
[画像のクリックで拡大表示]

 講義に先立ち、エヌビディアの澤井理紀氏がグラフィックスチップ(機能、以下GPU)を汎用演算に活用した事例として、デジタルコンテンツの制作や放送、医療、製造の4分野を紹介した。例えば、デジタルコンテンツの制作では、映画のコンピューターグラフィックス(CG)の描画にグラフィックスチップを使用することで各コマのレンダリング時間を短縮したり、手振れの激しい映像をリアルタイムに補正して見やすくするなどがある。

 放送への応用では、車のレースにおいて各車が受けている空気抵抗をリアルタイムでシミュレーションして競技中の映像に重ねて表示する例を紹介した。医療ではCTスキャンした2次元の画像を3次元に再構成する例、製造での応用では車のデザインなどで空気抵抗を可視化して分析に使用する例を解説した。

エヌビディアの澤井理紀氏によるプレゼンテーション。GPUの活用例として、デジタルコンテンツの制作や放送、医療、製造への応用を挙げた。写真は空気抵抗を可視化した例。
エヌビディアの澤井理紀氏によるプレゼンテーション。GPUの活用例として、デジタルコンテンツの制作や放送、医療、製造への応用を挙げた。写真は空気抵抗を可視化した例。
[画像のクリックで拡大表示]

 続いて、東京工業大学学術国際情報センターの青木尊之教授が「GPUスーパーコンピューティング」と題して、スーパーコンピューター(スパコン)を取り巻く状況や、CPUとGPUの特性の違い、GPUを使ったスーパーコンピューターの応用事例を解説した。

GPUを使った演算システムや、CPUとの特性の違いについて東京工業大学学術国際情報センターの青木尊之教授が講義した。
GPUを使った演算システムや、CPUとの特性の違いについて東京工業大学学術国際情報センターの青木尊之教授が講義した。

 冒頭で、2009年の事業仕分けで「1番」「2番」と話題になった、スパコンのランキング「TOP500」を紹介。6月に公開された最新のランキングでは、2位と7位にGPUを使ったシステムが入っている(1位はOpteronを使った米国のシステム)。いずれも中国によるもので、「試しに作ったんじゃないかと思っていたが、中国はGPUスパコンに本気。作るだけでなく研究も利用も進めている。19位にも中国が作ったGPUスパコンがある」(青木氏)と、スパコンの中でGPUのシステムが存在感を示しつつあるとした。ちなみに日本で一番速いのは日本原子力研究開発機構(JAEA)のシステムで、6月版のランキングでは22位だ。

2010年6月版の「TOP500」ランキング。2位のシステムはNVIDIAの演算ボード「Tesla C2050」を採用、7位は「ATI Radeon HD 4870」を使っている。いずれも中国のコンピューターだ。
2010年6月版の「TOP500」ランキング。2位のシステムはNVIDIAの演算ボード「Tesla C2050」を採用、7位は「ATI Radeon HD 4870」を使っている。いずれも中国のコンピューターだ。
[画像のクリックで拡大表示]

 東工大は「GPUをスパコンに入れるのは一番早かった」(青木氏)。「TSUBAME 1.2」として世界的にも注目を浴びたが、この秋には「TSUBAME 2.0」として2.4PFLOPS(ペタフロップス)を実現するシステムを稼動させる。演算能力が高いだけではスパコンとは呼べず、多数の演算ノードを接続するネットワークが高速であることや、計算結果を保存する高速で大容量のストレージを備えていることも条件になるとした。

 TSUBAME 2.0の概要は既に発表済み。計算ノードの1つは、CPUにIntelの「Westmere-EP」(開発コード名、ブランド名はXeon)の2.93GHzを採用、2CPU構成で1ノード当たりCPUコアは12個になる。メモリーは52GBまたは96GBで、ストレージとしてSSDを120GB(60GB×2)か240GB(120GB×2)用意する。GPUはNVIDIAの「Tesla M2050」。Fermiアーキテクチャーに基づく製品で、CUDAコアを448個、メモリーを3GB搭載し、単体で515GFLOPSの演算性能がある。1ノード当たりM2050を3枚搭載している。このノードを1408個のほか、「Nehalem-EX」(開発コード名、Xeon)2.0GHzを4個搭載し、メモリー128GB、SSD480GB(120GB×4)にしたノードや、メモリー512GB、SSD480GB(120GB×4)のノードなどがある。計算用のシステムは、演算性能が2.4PFLOPS、メモリーが約100TB、SSDが約200TBになるという。

 青木氏は、GPUを活用したシステムがCPUベースのシステムに比べて演算能力や電力効率に優れている点を強調。物理シミュレーションの演算を例にして、「GPU16個は2200個のCPUコアと同じくらいの演算能力。GPU60個だとCPUコア1万個にもなる。同じ演算能力を実現するのにGPUだとずっと低い消費電力で済む」とした。

Core i7や「GeForce GTX 280」「GeForce GTX 480」の演算性能の比較。GPUは並列演算性能が極めて高いだけでなく、メモリーの転送が速い点に大きなアドバンテージがある。
Core i7や「GeForce GTX 280」「GeForce GTX 480」の演算性能の比較。GPUは並列演算性能が極めて高いだけでなく、メモリーの転送が速い点に大きなアドバンテージがある。
[画像のクリックで拡大表示]

演算回数に対する読み書きの数(FLOP/バイト)が演算の性質を示す。2次元の拡散方程式など読み書きの多い演算(グラフの左側)では、演算能力が高い機器でも実効演算性能は上がりにくい。
演算回数に対する読み書きの数(FLOP/バイト)が演算の性質を示す。2次元の拡散方程式など読み書きの多い演算(グラフの左側)では、演算能力が高い機器でも実効演算性能は上がりにくい。
[画像のクリックで拡大表示]

GPUとCPUの演算能力の比較。同じ演算能力を得るのにGPUだと数が少なくて済むという。無制限には電力を供給できないため、スパコンの省電力化(電力効率の向上)は重要なポイントだ。
GPUとCPUの演算能力の比較。同じ演算能力を得るのにGPUだと数が少なくて済むという。無制限には電力を供給できないため、スパコンの省電力化(電力効率の向上)は重要なポイントだ。
[画像のクリックで拡大表示]

 このほか青木氏は、GPUスパコンの応用例としてリアルタイムの津波シミュレーションや気象計算を挙げた。津波シミュレーションでは、三陸沖の400km×800kmの領域を1辺100mの格子で4000×8000に区切るケースを紹介。CPUベースでは演算能力が低く、地震発生直後にパラメーターを与えて計算するのは無理といわれていたが、8個のGPUを使えば3分以内に計算し終えることを紹介した。

 こうした演算性能を生かすには、GPUを使った並列処理のプログラミングに慣れる必要がある。青木氏は、逐次処理が基本のCPUベースとはイメージが異なるとして、GPUプログラミングについて「スレッドの中に入って考える」と表現。GPUの汎用演算がなかなか普及しないのは、従来のプログラミングに親しんだ人がこうした視点の変更ができないためだとし、「若い人なら頭が柔軟なので(違和感なく)GPU特有のプログラミングもできる」と参加者を激励した。