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

HECToRプロジェクト 非圧縮性流体ソルバーのパフォーマンス改善と機能拡張(その2)

対象プログラム 乱流シミュレーション
アプリケーション名 Incompact3D
チューニング方法 LES法や粒子追跡での陽解法部において、2DECOMP&FFTライブラリへの1対1通信の実装による(通信/計算オーバーラップ)MPI並列効率の改善
成果 15%性能向上した。複数の独立FFTライブラリ呼出しを1つにまとめた。
[2016年5月掲載]

HECToR dCSE Team により非圧縮性乱流流体ソルバーのパフォーマンスと機能が改善(その2)

Ning Li, Numerical Algorithms Group Ltd (NAG)
Christos Vassilicos & Sylvain Laizet, Imperial College London
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)


NAGにおいて英国の国立学術スーパーコンピューティング設備であるHECToR 向けのNAG の計算科学技術(CSE)サポートサービス業務を行うHPC専門家は,最先端の乱流研究に用いられるCFDコードに計算と通信のオーバーラップ機能を導入しました。

Incompact3Dは、インペリアルカレッジの乱流・混流・流体制御グループと最先端の乱流研究のための学術協力者二より利用されている、インハウスの計算流体力学コードです。本作業は事前に行われた2つのプロジェクトから引き継がれるもので、これまで実研究実行はHECToRの1万以上のコアを利用可能になり、コードのスケーラビリティは大きく改善されてきました。しかしながら、更に多くのコアを用いると、ノード間通信が目立つようになっており、更なる改善の余地が示唆されています。

本プロジェクトの目的は、HECToRで多くのコアを利用する際に特に重要なall-to-all通信時間を削減することです。これは、ノード間通信と計算をオーバーラップさせるように2D領域分割・FFTインターフェイスライブラリ2DECOMP&FFTを更に改良することで達成されます。

プロジェクトの成功についてICLのSylvain Laizet博士は次のように述べています:「HECToRは最近になってプロセッサ当たりのコア数が32に増えましたが、ここで、プロセッサ内の通信がIncompact3Dによる大規模シミュレーションの制約になっていることを発見しました。dCSEソフトウェアサポートの協力によりコードを改善したところ、Incompact3D内のall-to-all通信に掛かる時間が約15%削減されました。2DECOMP&FFTライブラリーを用いる事により、エンドユーザへの影響を小さくすることが出来ました。我々のコードIncompact3Dは現在、2012年11月からGoogleプロジェクトを通して75ユーザを持つオープンソースとなり、英国内の多くの協力者にオープンなものとなっています。Incompact3Dに関するこれら3つのプロジェクトの成功により、研究努力の中心的な成果である実験結果と結びつけた高度に正確なシミュレーションが可能となりました。」

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

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

プロジェクトの背景

本プロジェクトの目的の一つは、領域分割およびFFTライブラリである2DECOMP&FFT内に柔軟なデータレイアウトを実装することでした。これにより旧式のアプリケーションを幅広くサポートすることが出来て、より高いキャッシュ効率をもたらすメモリーパターンの改良により、数値アルゴリズムの性能も向上させます。最も重要なことは、柔軟なデータレイアウトが細密な領域分割を可能にし、不必要なデータコピー時間を削減することです。

もう一つの目的は、Incompact3Dに対して別のFFTコードを作成して、効率的に計算をオーバーラップする通信コードを開発することです。これは1つのライブラリコールで複数の独立したFFT計算を可能にします。その他のアルゴリズムに対しても計算と通信のオーバーラップを行います。

インペリアル・カレッジ・ロンドン、航空学科のChristos Vassilicos教授は本プロジェクトの主任研究員でした。NAG のNing Li はNAG CSE チームと協力して5人月のプロジェクトを遂行しました。

プロジェクトの結果

2DECOMP&FFTでの計算と通信のオーバーラップは15%まで性能を向上させ、1つのライブラリコールで複数の独立したFFT計算を可能にしました。また本作業により、Incompact3Dは乱流シミュレーションによる新たな研究を可能にするための将来の開発が容易に成りました。

本プロジェクトで開発されたソフトウェアは、一般の科学コミュニティに対してリリースされました。本作業により改良された2DECOMP&FFTライブラリーは2012年10月にリリースされ、Incompact3Dは2012年11月にGoogleプロジェクト( http://code.google.com/p/incompact3d/)としてオープンソース化されました。


詳細なテクニカルレポートは以下で参照いただけます。
http://www.hector.ac.uk/cse/distributedcse/reports/incompact3d03/
https://www.nag-j.co.jp/nagconsul/performance-tuning/jisseki/dCSEreport_2DECOMP&FFT_incompact3d03.htm

さらに詳しくお知りになりたい場合は、日本ニューメリカルアルゴリズムズグループ株式会社 コンサルティンググループご相談窓口までお問い合わせください。
Web: https://www.nag-j.co.jp/nagconsul/toiawase.htm

関連情報
MENU
Privacy Policy  /  Trademarks