対象プログラム | 高解像度LESシミュレーション |
アプリケーション名 | BOFFS |
チューニング方法 | MPIによるブロックデータ間通信の実装、メモリー利用の効率化、OpenMPによるブロック内通信の実装 |
成果 | 千2百万グリッドで1.5倍の速度向上、並列効率の改善 |
HECToR dCSE Teaによる高次補正CFDコードBOFFSに対するメニーコアマシン上のスケーラビリティ改善
Lucian Anton, Ning Li and Phil Ridley , Numerical Algorithms Group Ltd (NAG)
Paul Tucker, Richard Jefferson - Loveday , University of Cambridg
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)
英国の国立学術スーパーコンピューティング設備であるHECToR 向けのNAGの計算科学技術(CSE)サポートサービスと共に、NAGのHPC専門家により、高解像度Large eddyシミュレーション(LES)を実行するOpenMP/MPIハイブリッド並列コードのBOFFSの性能を改善しました。
Block Overset高速流体ソルバー(BOFFS)は、主にターボ機械用途の乱流に対するLESシミュレーションを実行するoverset構造格子を用いた高次補正CFDコードです。
このdCSEプロジェクトでは、HECToR上でBOFFSによる100万点以上のグリッドと100以上のブロックを用いたLESシミュレーションが可能になりました。これは、BOFFSが搭載するOpenMP/MPIハイブリッド並列コードをHECToRの数千コアをフルに活用できるように改良することにより達成されました。
dCSE プロジェクトの成功について,ケンブリッジ大学のDr Richard Jefferson-Lovedayは次のように述べています。「dCSEチームは我々のCFDコードBOFFSを極めて価値があるものにしてくれました。低圧ターボ(LPT)におけるリム、シール、ラビリンスシールそして遷移流を含む、幅広い乱流のシミュレーションが可能となりました。ここで行われたことは英国工業にとって極めて重要なことであり、表面加工の制御を含むダイレクト設計の改善や、ブレード交換スケジュールへの指針を提供するものです。ガスタービンに関連するプロジェクトにおけるBOFFSの利用には、約5千万AU(注)のリソースが割り当てられました。dCSEによるサポートは、プロジェクトの期間を通して優秀なものでした。」
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているBOFFSプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
このプロジェクトの目的は、100万点(数百ブロック)以上のグリッドを用いて、現実的なターンアラウンド時間でのBOFFS実行を可能にすることでした。それは、MPIを用いてブロックデータ間通信を行うこと、メモリー利用の効率化、およびブロック内通信にOpenMPを用いることという3種のコア利用効率の改善策を使用します。
ケンブリッジ大学・工学部のDr Richard Jefferson-Lovedayはこのプロジェクトの調査主任でした。NAGのLucian Anton, Ning Li およびPhil Ridleyは、NAG CSEチームと密接な連携を取りながら4人月でプロジェクトを遂行しました。
プロジェクトの結果
ブロックデータ間転送においてMPIの非同期通信によるデータ転送が実装されました。この転送はオリジナルコードでの時間プロファイルで3位となり、さらに複雑なブロック構造のグリッドでも研究が可能になりました。さらに大きな静的配列を削除するコード・リファクタリングも実施されました。最終的に三重対角行列ソルバー(TDMA)に対して、red-black法による分割を用いてブロック内のOpenMP通信が実装されました。
更新されたBOFFSは現在MPIタスク当たり8スレッドまでスケールします。問題サイズによっては32スレッドまでスケールしています。HECToR上では、千2百万グリッドで4あるいは32ブロックのテストケースで1.5倍の速度向上を達成しました。
BOFFSの最初の応用はターボ機械分野です。主にケンブリッジ、ウォーリックおよびクランフィールド大学のグループがEPSRCプロジェクトのボーイング社のファン解析で利用しています。HECToRでのBOFFS利用にはこれまで約5千万AUのリソースが、EPSRCの研究予算による複雑な形状のホットジェットの航空力学と空力音響の調査に使われています。
(注)アロケーションユニット(allocation unit, AU)はHECToRにおけるノード課金単位です。大まかに言えばLinpackベンチマーク(Rmax)を基にした1時間当たり1Tflopsの実行量がkAUに相当します。例えば60Tflopsのプロセッサ群は60kAU/時間に相当します。
詳細なテクニカルレポートは以下で参照いただけます。
http://www.hector.ac.uk/cse/distributedcse/reports/
さらに詳しくお知りになりたい場合は、日本NAG株式会社 コンサルティンググループご相談窓口 https://www.nag-j.co.jp/nagconsul/toiawase.htm (あるいはメール:consul@nag-j.co.jp)までお問い合わせください。