対象プログラム | 磁気プラズマ乱流シミュレーション |
アプリケーション名 | GS2 |
チューニング方法 | 間接アドレッシングコードの改良、アンバランス・データ分割法の適用 |
成果 | 計算時間が2048コアで20%削減 |
HECToR dCSE Teaによる磁気プラズマ乱流モデリングコードGS2の速度向上
Colin Roach , Culham Centre for Fusion Energy
Adrian Jackson, Edinburgh Parallel Computing Centre (EPCC)
HECToR CSE Team, Numerical Algorithms Group Ltd (nAG)
英国の国立学術スーパーコンピューティング設備であるHECToR 向けのnAGの計算科学技術(CSE)サポートサービスと共に、EPCCのHPC専門家により、磁気プラズマ乱流モデリングコードGS2の並列実装を行い、全計算時間を20%削減しました。
GS2は、プラズマ中の全粒子種の摂動分布関数に対するジャイロ運動論方程式を、乱流電磁場に対するマクスウェル方程式と連成して解きます。これは実験室でのプラズマのミクロ安定性の検証に用いられ、不安定性の結果生じる乱流の主要な性質を計算します。 磁気プラズマ中の低周波乱流の並列シミュレーションでは、一般にデータコピーとMPI通信を用いたFFT計算が用いられます。データコピー機能に用いられる間接アドレッシングに対してより効果的な手法を実装することにより、性能が改善されました。さらに、ユーザが用いる実際のシミュレーションやリソースおよびシステムに合わせたプロセス数を、より柔軟に指定できるように、改善された'アンバランス'なデータ分割を開発しました。GS2は現在、HECToRの2048コアにおいて、代表的なケースで全計算時間が17-20%削減されています。
dCSE プロジェクトの成功について,クルハム核融合エネルギーセンターのDr Colin Roachは次のように述べています。「巨大な5Dデータ配列を再配分することは、ジャイロ運動論シミュレーションにおいて最大限に多くのコアを利用する際に、大きな問題の一つとなっています。dCSEとのコラボレーションにより、オープンソースコードGS2の深くまで立ち入り、小規模から大規模コア数まで、性能を大きく改善しました。 GS2はここ数年停滞していましたが、期待以上の改善がなされました。さらに、我々の将来の開発に極めて役立つだろう改善のアイデアも見つかりました。このプロジェクトの結果は、GS2ユーザに広く直接的な利益をもたらすでしょう。我々は現在HECToRで、この強化されたGS2を用いて、トカマクプラズマ中の電子とイオンが駆動する乱流による熱および粒子の損失研究に活用しています。」
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはnAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとnAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているGS2プロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
このプロジェクトの目的は、線形計算と非線形計算間のデータ変換に関連するローカルデータコピーの性能を改善し、間接アドレッシングの利用率を削減して高速化することです。しかしながらプロジェクト進行の中で、非線形計算で必要となるデータ分割が、'アンバランス'な分割を実装することにより、さらにリソースを有効活用できることが明らかになりました。
全プロセス数に対するローカルデータコピーの性能は、重い間接アドレッシングからダイレクトアクセスへ置き換えることにより約40-50%改善しました。'アンバランス'データ分割は、大きなコア数において全体性能を改善し、ハードウェアよりも対象とする問題で指定が可能なよりインテリジェントなリソース配分が出来るようになりました。
クルハム核融合エネルギーセンターのDr Colin Roachはこのプロジェクトの調査主任でした。EPCCのAdrian Jacksonは、nAG CSEチームと密接な連携を取りながら、6人月でプロジェクトを遂行しました。
プロジェクトの結果
GS2に対する改良されたローカルデータコピー・ルーチンと並列データ分割法により、HECToR上での性能が改善されました。コード全体の計算時間は、代表的なベンチマークデータに対して17%削減されました。特にHECToRフェーズ3の512コアの場合には全計算時間の7%削減、1536コアの場合は17%、2048コアの場合は20%削減されました。
GS2とその付随するコードTrinityとAstroGKは、これまでHECToRで1億AU(注)の配分を受け、英国プラズマ物理学コミュニティー内で利用されています。
(注)アロケーションユニット(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)までお問い合わせください。