対象プログラム | 電子構造計算 |
アプリケーション名 | CONQUEST |
チューニング方法 | 動的負荷分散手法の導入によるコア数制限の解除 |
成果 | 3Dヒルベルト空間充填曲線分割法を適用して動的な負荷分散とスケーラビリティを改善。シミュレーションデータの再利用により計算時間を40%-90%削減。 |
HECToR dCSE Teamによる物性科学コード(CONQUEST)のスケーラビリティの改善
David Bowler, University College London (UCL)
Lianheng Tong, University College London (UCL)
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)
UCLにおいて英国の国立学術スーパーコンピューティング設備であるHECToR 向けのNAGの計算科学技術(CSE)サポートサービス業務を行っているHPC専門家は,密度汎関数理論(DFT)コードCONQUESTにおい自動領域分割と動的負荷バランスを実装し、スケーラビリティを改善しました。CONQUESTに掛かる実行時間が、ある種の分子動力学シミュレーションでは40%-90%削減されました。
CONQUEST は線形スケーリング,あるいはO(N)法であり,NIMS(独立行政法人物質・材料研究機構)とUCL が協同で開発したDFT電子構造コードです。非常に大規模な系(2百万のシリコン原子を含む系で実証されています)でDFT計算を実行するようコードは設計されています。ab-initio タイトバインディングから平面波の精度をもつフルDFTまでの異なるレベルの精度で実行することができます。CONQUEST はUCLとICLの研究者によって現在使用されています。また米国(陸軍研究所)やフランス(ボルドー大学)でも利用されており、日本の10PF「京」スーパーコンピュータ用に選ばれた主要コードの一つでもあります。
このプロジェクトの目的は、CONQUESTの線形スケール性をより効率的な負荷バランスの開発により改善することです。これは、シミュレーションセルのパーティションをプロセッサーへ分散させるのに用いる自動初期負荷割当てアルゴリズムを更新することと、シミュレーションデータの動的割当て機構を実装することで達成されました。
CONQUESTの既存のユニットセル分割手法はそのまま残しました。これは、各原子をその物理的な位置に関わらず、動力学(分子動力学や座標最適化)の間に同じパーティションに固定して割当てます。この方法は1,000プロセッサを用いた10,000以上の原子系計算において効率を制限します。本作業により開発された分割手法の改善を用いれば、ある種のMDシミュレーション実行時間は大幅に削減されます。
UCLの物理・天文学部のDavid Bowler博士は次のようにコメントしています:"実際にCONQUESTに対するdCSEサポートは極めて有用でした。特に自動負荷バランスによって、普段の利用者よりも多くのユーザグループに対してCONQUESTの利用が可能になりました。
日本のNIMSチームと協力して実行した分子動力学プロジェクトは、研究すべき新たな科学的問題を可能にしました:今やピコ秒のMDがルーチン的に可能になり、CONQUESTの前例のないスケール性により大規模系の動力学計算が可能になりました。私達はこれを、細胞膜内のグラミシジンAのイオンチャネル、シリコン・ナノワイヤの現実的なモデル内のドーパントといった多様な問題に適用していきます。"
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているCONQUESTプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
このプロジェクトの目的は、より効率的な動的負荷バランスの実装によりCONQUESTの線形スケール性を改善することでした。最初に、既存の標準的な3Dヒルベルト曲線法をより柔軟で効率的なヒルベルト空間充填曲線法に置き換えました。次に、シミュレーションデータの動的割当て機構を実装しました。
UCLの物理・天文学部のDavid Bowler博士は主任調査員でした。UCLのLianheng Tong博士はNAG CSEチームと密接に連携して6人月でプロジェクトを遂行しました。
プロジェクトの結果
non-cubicコンパクト3Dヒルベルト空間充填曲線法による領域分割アルゴリズムを、CONQUESTの動的再割り当てに実装しました。新しいコードでは、自動領域分割と負荷バランスが改善され、それを1024以上のコアを用いた30,000原子以上を含む様々なサイズの系と形状(バルク、スラブ、絡む7及び多重スラブなど)に対して試験しました。
本作業により、CONQUESTにおける分割処理の実行と制御が容易になりました。さらに、シミュレーションデータの再利用により、系のタイプに依りますがある種のMDシミュレーションの計算時間が40%-90%削減されました。この作業中に、extended Lagrangian Born-Oppenheimer MDも実装されました。これは比較的小さなエネルギー公差を許容する安定的なシミュレーションを可能にするため、低コストです。
このプロジェクトで開発されたものはCONQUESTのソースリポジトリに組み込まれました。この結果CONQUESTはより多くのHECToRユーザへ利用可能になりました。例えば2011年にはCONQUESTを用いたHECToR上での生体分子シミュレーション(BBSRC project"linear Scaling Density Functional Theory for Biochemistry: Applications to Cytochrome c Oxidase" (BB/H024271/1))では、5,587AU(注)が用いられました。
(注)アロケーションユニット(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)までお問い合わせください。