大規模並列シミュレーション実行をサポートする技術を開発
シミュレーションを実行し、その結果から意味のある情報を引き出し、現象の理解や設計プロセスへのフィードバックを行うためには、その核となるシミュレータ以外にも周辺技術が重要な役割を果たす。そうした必須の周辺技術としては、例えば、計算格子生成や可視化、データI/O 処理などがある。高精度化や高速化のためにシミュレーション自体が大規模並列になると、それに合わせて周辺技術の大規模並列化が必要となる。これらの点を考慮し、当研究チームでは、シミュレーションをサポートする周辺技術の大規模並列対応技術やライブラリ・アプリを開発し、コミュニティーへ展開することにより、「京」での実用的なシミュレーションの促進に貢献する活動を展開してきた。
これまでに開発したおもなソフトウェアには、①大規模並列可視化システム(HIVE)、②性能モニタライブラリ(PMlib)、③性能可視化システム(TRAiL)、④並列I/O ライブラリ(xDMlib)、⑤ワークフローシステム(WHEEL)などがある。これらのソフトウェアは、「京」ではもちろん、一般的なシステムやポスト「京」でも動作するように設計されている。また、ポータビリティやソフトウェアライフサイクルにも配慮し、長期間にわたるサポートをめざしている。
おもな研究成果
多様な利用モードをもつ大規模並列可視化システム
可視化は、数値計算プログラムとは異なり、利用者によってその利用方法が大きく変わるため、可視化分析の標準的な処理手続きはない。当研究チームでは、HPC 環境に含まれるヘテロジニアスなハードウェアを考慮し、大規模並列可視化システムHIVE を開発した。HIVE は、ローカル/リモート、バッチ/ インタラクティブ、ポスト/in-situ などさまざまな使い方をサポートする。
HIVE にはレンダラーとして、高並列時に効率のよい並列レイトレーサーを用いた。従来のレンダラーとは異なり、ユーザが作成したフラグメントレベルのシェーダープログラム(OpenGLES Shading Language 2.0 で記述)を導入でき、画像の品質や表現力を高めることができる。また、レンダリングパイプラインをGUI で構築することにより、所望のイメージを描画できる柔軟性ももちあわせている。
スケーラブルな画像重畳ライブラリを介して、分散したデータから各プロセスが生成した部分画像データを集めて重畳するソートラスト型の並列化技術により、「京」の全ノードを用い、高いスケーラビリティと32k 画像のイメージ作成にも成功している。今後、機能増強や対応するデータ構造の追加を随時行っていく予定である。
HIVEのソフトウェア・アーキテクチャー