プログラムの高速化・並列化サービスの事例

HECToRプロジェクト CABARETの速度改善

対象プログラム 航空機騒音シミュレーション
アプリケーション名 CABARET
チューニング方法 ハイブリッド(OpenMP/MPI)並列化
成果 速度改善、より大きなモデルの取り扱いが可能に
[2013年5月掲載]

HECToR dCSE Teamの最適化により航空機騒音シミュレーション(CABARET) の速度が上がりより大きなモデルが可能に

Sergey Karabasov, University of Cambridge
Phil Ridley, Numerical Algorithms Group Ltd (NAG)
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)


英国の国立学術スーパーコンピューティング設備であるHECToR 向けの、計算科学技術(CSE)サポートサービス業務を行っているNAGのHPC専門家は,CABARETコードにおいて大幅に優れたパフォーマンスを実現し,これにより以前よりも少なくとも100倍大きい問題の調査が可能になりました。

CABARET (Compact Accurate Boundary Adjusting high REsolution Technique) コードは圧縮性Navier-Stokes方程式を解くために使用される場合があります。また,このプロジェクトと関係して航空機騒音の調査のために使用される場合があります。航空機騒音の重要な要素は機体/エンジンの導入効果に起因しています。これを削減することは困難な問題です。特に,着陸進入状態で大きな迎え角で進入した場合フラップは重要な騒音の原因となります。翼下エンジンの形態に関して,フラップの噴流との相互作用は主要な雑音成分となります。騒音予測のスキーマの極めて重要な要素は,高品質のLarge Eddy シミュレーション(LES)モデルです。機体/エンジンの騒音問題に関して,このモデルはすべての重要なフラップ,自由噴流,フラップと噴流の相互作用効果を正確にとらえる必要があります。

dCSE プロジェクトの成功について,Sergey Karabasov (主任研究員)は次のように述べています。「dCSEプロジェクトはいくつかの点で大変有益です。HECToRのHPC機能を用いた汎用のLES CABARETコードを強化することによって速度が速くなり,これによりローカルの小型のクラスタで以前は可能だった分解能よりも極めて高い分解能を使用できるようになります。」

HECToR
HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。

これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているCABARETプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。

プロジェクトの背景

このdCSEプロジェクトの目的は圧縮性CABARETコードの分散型の並列版を開発することでした。これにはCABARETステンシルとFluent (Gambit)非構造6面体メッシュに関連する並列分割法の効果的な方法が含まれていました。またセル表面とセル中心の間のMPI データ受け渡しプロトコルを含め可視化の後処理を行う単純な方法を実行するためのCABARET コードの修正が含まれていました。

ケンブリッジ大学のSergey Karabasov はこのプロジェクトの主任調査員でした。NAG のPhil Ridley はNAG CSE チームとCABARET 開発者と協力して10人月のプロジェクトを遂行しました。HECToR上でCABARETシミュレーションを行うためには2,500万以上のAUs (allocation units)(注)が使用されます。

プロジェクトの結果

Gambit生成の非構造格子を分割するための自動化された幾何学的領域分割法が開発されました。構造化分割はより優れたロードバランシングを保証するため,ParMetis あるいは PT-Scotch を使用する機能は今後の幾何学に利用することができます。CABARET のMPI並列版はセル表面とセル側面の間でデータを受け渡すためノンブロッキングMPIを用いて実装されました。新規に開発されたコードはシリアルコードに対して検証,テストされ,クアドコア Phase 2a アーキテクチャをもつHECToRのXT4 の250コアを用いた際に72%の並列効率性が観察されました。Phase 2b のメニーコアの導入により,Phase 2bのCABARETのハイブリッド(OpenMP/MPI)並列版とハイブリッド並列の分割機能の開発が必要でした。51.2M セルの3D バックステップテストケースに対してハイブリッドCABARET コードを用いて,80%の並列効率性が Phase 2bの1000コア上で達成できました。

シミュレーションは現在では少なくとも以前の512倍大きい格子上で実行できます。小さい格子については,時間平均で,高レイノルズ数 (Re)シミュレーションを数日間ではなく2,3時間で実行できます。HECToRのHPC機能を用いた汎用eddy シミュレーションCABARETコードにより,PI と拡大したグループは以前ローカルクラスタ上で可能だった分解能よりも極めて高い分解能を使用することができます。


(注)アロケーションユニット(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)までお問い合わせください。

関連情報
MENU
Privacy Policy  /  Trademarks