研究内容

HPCについて

当研究室では,スーパーコンピュータのような大規模並列計算環境やメニーコアプロセッサ,GPU等の最新のプロセッサ・デバイスを利用した高性能計算(ハイパフォーマンスコンピューティング,HPC)に関する研究を行っています。具体的には,最新の計算環境を効果的に利用するための並列処理アルゴリズムや実装方式の研究,数値計算ライブラリの開発を行っています。

主な研究対象は,大規模連立一次方程式の求解や固有値計算などの行列計算です。ビッグデータ解析やデータマイニングの分野から,流体解析や構造解析などのシュミレーションの分野まで,様々な応用分野で行列計算は利用されており,その高速化,高性能化が強く求められています。

当研究室では,メニーコアプロセッサ向けの高並列マルチスレッド型アルゴリズムや「京」に代表される大規模計算システム向けの行列計算手法を研究・開発しており,その一部は商用のソフトウェアにも取り入れられ,実社会で活用されています。代表的な研究テーマについて,簡単な説明を以下に記載します。

H行列(階層型行列)

H行列とは,密行列のデータをその精度をほとんど落とさずに圧縮する技術です。H行列では、行列の一部をよりデータ量の少ない低ランク行列として近似します。行列の低ランク化にはACA(Adaptive cross approximation)等の方法が使われます。N行N列の行列を用いた計算、例えば行列ベクトル積の場合、通常O(N2)のメモリ量、計算量を必要としますが、本手法を用いることで理想的にはこれらをO(N logN)に低減することができます。これは大規模な問題において大きな効果を発揮します。このことから、現在、国際的にも盛んにH行列の研究がなされています。岩下はJST CRESTのグループリーダとして、伊田(現東大)と共に分散並列化されたH行列ライブラリの開発を行いました。ハイブリッド並列処理に対応したH行列ライブラリの開発は世界的にも他に例を見ません。現在では、H行列ライブラリの更なる高速化や応用分野における利用に関して研究を行っています。

線形ソルバ

線形ソルバとは連立一次方程式の求解法を意味します。当研究室では、応用分野で頻出する疎行列を係数とする連立一次方程式のソルバについて研究を行っています。このような疎な係数行列を対象とする場合、反復法が主に使用されます。共役勾配法やGMRES法,BiCGSTAB法などが応用分野でよく用いられる反復法です。当研究室では、電磁場解析や構造解析の標準解法であるICCG法(不完全コレスキー分解前処理付き共役勾配法)の高性能なスレッド並列処理や大規模問題に優れた特性を持つマルチグリッド法に関する研究を行っています。

ステンシル計算の高性能実装

ステンシル計算とは,特定のパターンに従って配列の要素を更新する計算のことで,シミュレーションにおいてよく出現する計算パターンの一種です。 ステンシル計算の高性能化のためにはメモリアクセスのコストを削減することが重要であり,そのために時空間タイリングと呼ばれる方法が広く研究されています。 当研究室では,特に,メニーコアCPUに適した時空間タイリング手法と,電磁場解析の代表的数値計算手法であるFDTD法への応用を研究しています。

Parallel in Time型シミュレーション

従来、物理現象のシミュレーションを並列化する場合、解析対象を分割する領域分割型の並列処理がよく行われてきました。しかしながら、現在では計算環境における並列度(コア数やノード数)が著しく増大しており、領域分割型の並列処理のみでは十分な並列度が得られなくなってきています。そこで、多くのシミュレーションにおいて時間的に変化する現象が取り扱われることに着目し、時間方向への並列化に関して研究を行っています。通常、時間方向へは逐次的に計算を進める必要があるため、時間方向への並列化を実現するには工夫が必要です。当研究室では周期的に変化する現象の解析における時間方向並列化手法などを開発しています。

通信回避型の行列計算アルゴリズム

大規模な並列計算では演算時間よりも通信時間が問題となります。 そこで,通信の回数を減らすこと(通信回避)で,通信時間を削減することを目指して,行列計算アルゴリズムを再構築します。 当研究室では,QR分解をはじめとした行列計算に関して,通信回避の視点に基づいたアルゴリズムの開発・改良やスーパーコンピュータを利用したアルゴリズム性能評価・分析などの研究をしています。

テンソル分解に関する高性能計算技術

テンソルは行列を高次元に一般化したもの(行列を2次元配列とすれば,テンソルは3次元以上の配列に相当)であり,複雑なデータの解析等において,テンソル分解の利用が期待されています。 そこで,これまでの行列計算に対する高性能計算の知見に基づいて,テンソル分解の計算手法を数理と高性能計算(HPC)の両面から研究し,最新の計算機環境により適したテンソル分解の計算技術の開発を目指しています。

自動チューニング

計算環境は複雑かつ多様になっており,高い性能を得るためには,それぞれの環境に適したアルゴリズムの選択やプログラム中のパラメータのチューニングが必須となります。自動チューニングでは,この作業の自動化を目指しています。当研究室では,行列計算を主な対象として,自動チューニングを実現するための様々な基盤技術とその応用について研究しています。