中島 研吾/NAKAJIMA Kengo

中島 研吾 教授

【研究分野】
メディア・知能・計算分野
【研究領域】
高性能計算、並列数値アルゴリズム、計算力学
【研究室URL】
http://nkl.cc.u-tokyo.ac.jp/

研究内容

計算科学(Computational Science)は、理論、実験とともに「科学の第3の柱」として重要な役割を果たしている。計算科学には大規模なスーパーコンピュータを駆使したシミュレーションが必須であり、そのためにはScience、Modeling、Algorithm、Software、Hardware(頭文字をとってSMASH)一体となった研究開発が必須である(図1参照)。当研究室では、並列計算機による連立一次方程式解法等の大規模シミュレーションを支えるアルゴリズム(Algorithm)の研究を、SMASHに立脚した物理(Science)、モデリング(Modeling)、プログラミング(Software)、計算機ハードウェア(Hardware)等様々な観点から実施し、地球科学、エンジニアリング等の様々な分野の専門家と協力しつつ、大規模シミュレーションによる新しい科学の開拓に貢献している。

並列多重格子法に関する研究

有限要素法、差分法などによる数値シミュレーションは最終的には、疎行列を係数行列とする大規模な連立一次方程式を解くことに帰着される。連立一次方程式解法としては共役勾配法(Conjugate Gradient、CG)に代表される反復法がよく使われている。多重格子法(Multigrid、MG)は、様々な波長の誤差成分を同時に減衰させる性質があり、高速に収束するとともに、反復回数が問題規模に依存しない。特にMGをCG法の前処理手法とするMGCG法は大規模問題向けの並列解法として有効である。
当研究室では、並列多重格子法アルゴリズムに関する研究開発を継続して実施してきた。最近開発されたhCGA(Hierarchical Coarse Grid Aggregation)法(図2参照)は通信プロセスを統合することにより、通信・計算に関するオーバーヘッドを削減する手法であるhCGA法は、Fujitsu PRIMEHPC FX10(Oakleaf-FX)4,096ノード(65,536コア)において、従来手法(CGA法)と比較してWeak Scalingで約60%(図3参照)、Strong Scalingで約6倍の性能向上が得られている。

ハイエンド計算機環境におけるアプリケーション開発環境に関する研究(ppOpen-HPC)

昨今、マルチコアクラスタ、GPUなど様々なHPC環境の利用が可能となっているが、科学技術計算に携わる科学者、技術者にとって、ハードウェアの能力を充分に引き出し、効率的なアプリケーションプログラムを開発することは至難の業である。一般に科学技術アプリケーションは様々な処理から構成されており、各プロセスを最適化することもまた科学者、技術者にとっては困難な作業である。本研究では、計算機の専門家でない科学者や技術者がスパコン向けの様々なシミュレーションプログラムを容易に開発し、高速・安定に実行するための基盤ppOpen-HPC(図4参照)を開発する。
ppOpen-HPCはJST戦略的創造研究推進事業CREST研究領域「ポストペタスケール高性能計算に資するシステムソフトウェア技術の創出」の一環として「自動チューニング機構を有するアプリケーション開発・実行環境」において2011年度から開発されているオープンソースフレームワークであり、メニィコアアーキテクチャに基づくポストペタスケールシステムの処理能力を充分に引き出す科学技術アプリケーションの効率的な開発、安定な実行に資するものである。研究開発にあたっては、特に下記の5項目に着目している:

  1. ヘテロジニアスなアーキテクチャ (Multicore、Manycore、GPU)
  2. 混合精度演算(Mixed Precision Computation)
  3. 自動チューニング(Auto-Tuning)
  4. 耐故障性(Fault Tolerant)
  5. 通信削減アルゴリズム(Communication Reducing Algorithms)

対象離散化手法としては、大規模シミュレーションに適した有限要素法(FEM)、差分法(FDM)、有限体積法(FVM)、境界要素法(BEM)、個別要素法(DEM)に限定し、各手法の特性に基づきハードウェアに依存しない共通インタフェースを有するアプリケーション開発用ライブラリ群、耐故障機能を含む実行環境を実現する。
本研究は2016年度に筑波大学、東京大学共同で導入予定のポストT2Kシステム(ピーク性能25PFLOPS級)をターゲットとし、東大情報基盤センタースパコンの2,000人以上の利用者の新システムへの円滑な移行を支援する。更に改良を進めることによって、エクサスケールシステムにおけるアプリケーション開発・実行環境へと発展させていくことを目標とする。
ppOpen-HPCは:

  • ・ppOpen-APPL:各手法に対応した並列プログラム開発のためのライブラリ群
  • ・ppOpen-MATH:各離散化手法に共通の数値演算ライブラリ群
  • ・ppOpen-AT:科学技術計算のための自動チューニング(AT)コンパイラ
  • ・ppOpen-SYS:ノード間通信、耐故障機能に関連するライブラリ群

から構成される(図4参照)。ユーザープログラムからppOpen-APPL、ppOpen-MATH、ppOpen-SYSのライブラリ群を呼び出し、自動チューニングコンパイラppOepn-ATを使用することによって、並列化やチューニングに煩わされることなく、ポストペタスケールシステムに対して最適化された耐故障機能をもつアプリケーションを容易に開発できる。また、最適化されたライブラリ群が自動的に生成される。メモリアクセス最適化、資源配分に関するハードウェア依存のチューニングのプロセスをppOpen-ATに集約することにより、計算機環境が変化しても、 ppOpen-ATの変更によって対応できる。

学生へのメッセージ

大規模なスーパーコンピュータを駆使したシミュレーションを実現するためにはScience、Modeling、Algorithm、Software、Hardware(SMASH)一体となった研究開発が必須である。これは、他分野の研究者・技術者の協力の必要性とともに,個人が幅広い見識と経験を有することを要求するものでもある。常に幅広い視野を以て専門を深めていくことが重要である。

図1:SMASH(Science、Modeling、Algorithm、Software、Hardware)
図2:hCGA法(Hierarchical Coarse Grid Aggregation)
図3:CGA法,hCGA 法によるMGCG のFujitsu FX10 4,096ノード(65,536コア)
における性能(Weak Scaling)(Flat MPI,172億自由度)
図4:ppOpen-HPCの概要