対象プログラム | 乱流シミュレーション |
アプリケーション名 | Incompact3D |
チューニング方法 | 領域分割法の更新,OpenMP |
成果 | パフォーマンスが6倍に改善 |
HECToR dCSE Team により乱流のシミュレーション(Incompact3D)のパフォーマンスが6倍に改善
John Christos Vassilicos & Sylvain Laizet, Imperial College London
Ning Li, Numerical Algorithms Group Ltd (NAG)
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)
NAGにおいて英国の国立学術スーパーコンピューティング設備であるHECToR 向けのNAG の計算科学技術(CSE)サポートサービス業務を行うHPC専門家は,Incompact3D の応用で科学的に有益な新機能の実装と大きなパフォーマンス改善を行いました。
Incompact3D は非圧縮性流れの直接数値シミュレーション及びラージエディシミュレーション(DNS/LES)用のCFD アプリケーションです。 Incompact3Dの最近の応用の一つはマルチスケール/フラクタル物体により生成される乱流の研究についての風洞測定から実験結果を補うことです。この種の新しい流動のコンセプトは、産業用ミキサー,静音空気ブレーキ,新しい空調,燃焼装置に役立つ新しいソリューションを提供します。最小スケールの風洞測定と関連する乱流渦を解像するためには,高い分解能のマルチスケールの流動シミュレーションが必要となります。このシミュレーションには強力なスーパーコンピューティング・リソースが必要です。
プロジェクトの成功についてChristos Vassilicos (主任調査員)は次のように述べています。「マルチスケールな物質の本来の特性をよく理解するためには、このような複雑な流体の高忠実度シミュレーションに取り組むことが必要でした。流体構造が複雑なため、これらのシミュレーションは何億ものメッシュ点を必要とし,そのため2年前は数値モデリング実行がほとんど不可能でした。新しいバージョンのコードは研究を迅速化するためありがたいものであり,これにより私たちは実験との正確な比較を行うことができます。」
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているIncompact3Dプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
このdCSE プロジェクトの目的は、シミュレーションの処理時間を削減するためにIncompact3dを何千ものプロセッサコア上で動くようにすることでした。また実際の実験と適合するようできる限りの複雑性を保ちつつ大きなシミュレーションを行えるようにすることでした。これは、FFTに対する元の1次元(slab)領域分割から2次元(pencil)領域分割へ領域分割法を更新することと,MPI_Alltoallv(s)への共有メモリ法を用いたグローバル転置の改善によって達成されました。さらにIncompact3D のベクトル版は、OpenMPで性能改善され、Incompact3D の MPI並列版とベクトル版 はよりポータブルなコードへマージされました。
インペリアル・カレッジ・ロンドンのChristos Vassilicos は本プロジェクトの主任研究員でした。NAG のNing Li はNAG CSE チームとIncompact3D 開発者と協力して16人月のプロジェクトを遂行しました。Incompact3D シミュレーションを実行するのに約7000万 AUs(allocation units)(注)が HECToR上で使用されました。
プロジェクトの結果
当初の Incompact3D は1D slab データ分割を採用していました。これは、スケーラビリティ制約により生産性の高い科学研究を妨げ、Incompact3Dは大規模なシミュレーションが困難でした。2048*515*512のメッシュを含む典型的なシミュレーションは512コアまでしか使用できませんでした。HECToR のフェーズ1では,これは25日間の実行時間(処理時間)を意味します。現在このサイズのメッシュは8000コアを効果的に利用して6倍以上速い約 3.75日間の実行時間(処理時間)で実行出来ます。 さらに,4096*4096*4096のグリッド点を使用する新しい高分解能の乱流混合と流量制御シミュレーション用のメッシュは16384 Phase 2b コアを使用することができます。
このdCSEで開発された領域分割フレームワーク 2DECOMP&FFT は、アップグレードされた分散型FFT計算を必要とする科学的応用,例えば燃焼,海洋モデリングや圧縮性CFDなどについて全てのHECToRユーザが利用することができます。より広く一般に,オープンソースライセンスに基づくオープン・ペタスケール・ライブラリ(OPL)プロジェクトへ採用されました。また,他の数種のプロジェクト(dCSEを含む)で既に使用されています。
(注)アロケーションユニット(allocation unit, AU)はHECToRにおけるノード課金単位です。大まかに言えばLinpackベンチマーク(Rmax)を基にした1時間当たり1Tflopsの実行量がkAUに相当します。例えば60Tflopsのプロセッサ群は60kAU/時間に相当します。
詳細なテクニカルレポートは以下で参照いただけます。
http://www.hector.ac.uk/cse/distributedcse/reports/incompact3d/
https://www.nag-j.co.jp/nagconsul/performance-tuning/jisseki/dCSEreport_incompact3d.htm
さらに詳しくお知りになりたい場合は、日本NAG株式会社 コンサルティンググループご相談窓口 https://www.nag-j.co.jp/nagconsul/toiawase.htm (あるいはメール:consul@nag-j.co.jp)までお問い合わせください。