研究概要 |
単一GPU上で実装していた数値シミュレーションおよびリアルタイム可視化手法をGPUクラスタ環境での分散処理に対応させるために,平成21年度においてはLinux上のMPIを基本とした環境へ移行する準備と,数値計算手法のさらなる拡張と可視化の高速化をはかった.数値計算および可視化を従来Windows上のシェーダ言語HLSLで実装していたものを,数値計算についてはCUDAへの移行を行い,可視化についてはOpenGL環境でのシェーダ言語GLSLに移行した.これによりLinuxを含む複数のプラットフォームへの対応が可能になった.特に数値計算部分についてはCUDAへ移行したことにより,オーバーヘッドの減少による高速化と,自由度の高い並列処理が可能となった.これによりクリロフ部分空間法の前処理手法として有効な不完全LU分解を世界で初めてGPU上に効率的に実装することが可能となった.このILU(0)前処理を適用した共役勾配法は,他の前処理を用いた従来のGPU上での共役勾配法と比較して圧倒的に高速かつ安定的に問題を解くことが可能であり,CPU実装と比較しても大幅に高速であることが示された.本研究では主に流体の数値シミュレーションを対象として研究しているが,このGPU上での高速なILU(0)前処理付き共役勾配法は有限要素法へもGPUが本格的に利用可能であることを示した.また可視化については2次元でのスカラー場の色付けや等値線の表示,流れ場の矢印による表示とパーティクルの移流による流れ場の可視化を実現した.これをLinux上のMPIによる分散並列化に対応させ,構築したGPUクラスタ環境において高速なリアルタイム分散可視化が可能となることを示した.これらの成果によりGPUクラスタ環境で高速に数値計算および分散可視化を行うための基盤が出来上がった.
|