「グラフィックスではなく汎用のGPUコンピューティングに注目していく」と述べた米NVIDIA CEOのジェンスン・ファン氏による基調講演の内容は、2010年9月に米国で行われた「GPU Technology Conference」の同氏による基調講演とほぼ共通した。CUDA環境で開発されたGPUコンピューティングは、自動車産業、建築、インテリアでにおけるデザインシミュレーションや、流体シミュレーション結果のリアルタイム表示、医薬品開発、天体運動シミュレーション、そして天気予報に用いる大気シミュレーションなど、高度な並列演算処理を必要とする領域で広く使われている。
このケーススタディとして、東京工業大学 学術国際情報センターの青木尊之氏が、同大学のTSUBAME 2.0でフルGPU演算を実行する次世代気象モデルを紹介した。気象の数値予報では、風速や気圧、水蒸気の挙動を求める“力学過程”と、雲の形成や降雨などの動きを求める“物理過程”に分かれて演算が行われる。従来、力学過程の演算ではメモリアクセスが膨大に発生して、プロセッサのピーク演算能力が引き出せない一方で、物理過程の演算では、浮動小数点演算で非常に高い負荷が発生するという。
青木氏は、次世代気象モデルの開発において、GPUコンピューティングの浮動小数点演算能力の高さとメモリバンド幅の広さに注目し、まず、計算負荷の高い“雲”物理過程の計算モジュールだけをGPUで行うようにした。この結果、CUDA環境に移植した計算モジュールでは従来の20倍という性能向上が確認されたが、その一方で、従来のままCPUで演算している力学過程の影響が残り、気象モデル全体の演算能力は30%の向上にとどまった。
この問題を解決するため、TSUBAME 2.0の稼働にあわせて、青木氏はすべての過程でCUDA環境に移植を行い、GPU上で演算を行うモデルを開発した。なお、この移植作業においては、FORTRANで書かれていたコードをまずC++に変更し、それからCUDAのコードに移植したという。CUDA環境に完全移行した気象モデルをTSUBAME 2.0で動かした場合、その演算能力は単精度計算で145TFlops、倍精度計算で76.1TFlopsに達したと青木氏は説明している。
天気予報では、一定の地域を格子状に区切った1つ1つのメッシュごとに大気の状態を計算で求めるが、シミュレーションを行うシステムの性能によって、この格子サイズは増減する。現在、気象庁で行っている数値予報では、一般的に721×577×50というサイズでシミュレーションが行われているが、CUDA環境に移植した気象モデルをTSUBAME 2.0で実行した場合、4792×4696×48というサイズで単精度演算が実行できたという。(記事掲載当初、格子サイズの値に間違いがありました。おわびして訂正いたします)
このほか、2つに分けられた気体と液体で、仕切りを取り外してそれぞれがどのように動くのかを演算するシミュレーションで、従来から使われているSPH法などの粒子法ではなく、格子に区切ったメッシュ法によるシミュレーションも紹介され、粒子法による演算ではできなかった液体内に気泡が混入する状況や、気泡の影が描画される状況が示された。
Copyright © ITmedia, Inc. All Rights Reserved.