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

HECToRプロジェクト CONQUESTのパフォーマンスと機能の改善

対象プログラム 電子構造計算
アプリケーション名 CONQUEST
チューニング方法 Kerker前処理,K点並列,Methfessel-Paxton smearingの導入
成果 同等精度に必要なサンプk点数を6割削減。対角化で用いるScaLAPACK改良により負荷平準化して10%高速化。k点並列により21%高速化
[2013年5月掲載]

HECToR dCSE Teamによる物質科学コード(CONQUEST)のパフォーマンスと機能の改善

Andrew Horsfield, Imperial College London
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 は線形スケーリング,あるいはO(N)法であり,NIMS(独立行政法人物質・材料研究機構)とUCL が協同で開発したDFT電子構造コードです。非常に大規模な系(何万もの,何十万ものあるいは何百万もの原子)に対してDFT計算を実行するようコードは設計されています。ab-initio タイトバインディングから平面波の精度をもつフルDFTまでの異なるレベルの精度で実行することができます。CONQUEST はUCLとICLの研究者によって現在使用されています。またオークリッジ国立研究所(ORNL)のJaguar Petaflops スーパーコンピュータ上でも使用されており,日本の10PF「京」スーパーコンピュータ用に選ばれた主要コードの一つになっています。線形スケーリング機能のほか,CONQUEST はScaLAPACKを使用して厳密な対角化を用いて実行することができます。そして金属系の何千もの原子を計算するコードのこの部分を最適化することがプロジェクトの目的でした。

コードのパフォーマンスはScaLAPACKの使用を最適化することにより,また k点並列を実装することにより改善されました。Kerker法 の実装と波数依存メトリック(wave dependent metric)前処理により線形混合では不可能な自己無撞着性を実現する計算が可能になりました。この作業による改善と従来からの優れたスケーリング特性により,CONQUEST はHECToR 上での金属材料の大規模な ab initio 電子構造シミュレーション用の有益なツールになります。

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

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

プロジェクトの背景

このdCSEプロジェクトの目的は,ScaLAPACKを用いたハミルトニアン対角化の改善と大規模システムにおいて自己無撞着性を実現するため、より効果的な技術の導入により絶縁体と金属の両方に対して厳密な対角化モードで効果的に使用できるようCONQUEST を修正することでした。特に,Methfessel-Paxton smearing ,K点並列,Kerker 前処理と波数依存メトリック前処理の導入によって修正することでした。 インペリアル・カレッジ・ロンドンのAndrew Horsfield とユニヴァーシティ・カレッジ・ロンドン(UCL)のDavid Bowler は本プロジェクトの主任研究員でした。UCL のLianheng TongはNAG CSE チームとDavid Bowler( CONQUEST のUK開発リーダー)と協力して12人月のプロジェクトを遂行しました。CONQUESTシミュレーションを実行するのに1年で約400万から500万AUs (allocation units)(注)がHECToR上で使用されました。

プロジェクトの結果

Kerker前処理が実装され, テスト計算が線形混合では不可能だった自己無矛盾を達成できるようになりました。Methfessel-Paxton smearing も実装されました。これは同じ精度を実現するテスト計算で必要とされるK点の数を 60%削減しました。ロードバランシングを10%加速するよう改善するより小さいブロックサイズを用いるためにScaLAPACKを最適化することによって,対角化プロセスの主なボトルネックは改善されました。K点並列はBLACSプロセスグリッドを用いて実装され,32原子の13x13x13 のAl単位セル上で21%の加速が実証されました。


(注)アロケーションユニット(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