対象プログラム | 電子構造計算 |
アプリケーション名 | VASP |
チューニング方法 | OpenMP+MPI版VASPの開発,密度汎関数理論/ハートリー・フォック(Hartree-Fock)コードの再構築 |
成果 | パフォーマンス改善 |
HECToR dCSE TeamによるVASP(量子力学シミュレーションパッケージ) のマルチコア・プラットホーム向けの改善
Scott Woodley, University College London (UCL)
Gavin Pringle, Andrew Turner Edinburgh Parallel Computing Centre (EPCC)
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)
NAG のHECToR(英国の国立の学術スーパーコンピュータ設備)向けの計算化学技術(CSE)サポートサービスのもとで業務を行っているEPCCのHPC技術者はVASP 計算量子化学コードの効率性を改善しました。 VASP (Vienna Ab initio Simulation Package)は凝縮相物質の電子構造シミュレーションに使用される量子力学ソフトウェアのパッケージです。VASP は世界中で使用されている最も重要な材料科学・化学コードの一つです。VASP は現在HECToRで最も使用されている単体アプリケーションであり、マシンのリソース全体の20-25%を消費しています。2011 年中、VASP はHECToR で267,588 kAUs(注) を使用しました(マシン全体の12.65% であり 全ジョブの17.61%)。 そして 2012 年は、この数字は約 651,061 kAUs (マシン全体の20.4% であり全ジョブの 21.1%) でした。これは理論上のコスト£1.5 millionに相当します。その当時、14 の異なる HECToR プロジェクトでパッケージを使用している少なくとも63 のHECToR 登録ユーザがいました。
この dCSE プロジェクトはVASPユーザが倍のコア数を利用出来るようにしました。この開発により以前は不可能だった新しい科学が可能となります。 |
dCSE プロジェクトの成功に言及して、UCLの材料化学コンソーシアムの代表は次のように述べています。「手頃なコストのハイブリッド汎関数をさらに追加することで、私たちの多くのプロジェクトや他のユーザは直接利益を得ることができました。これにより実験と直接関係する予測シミュレーションがより一層可能になりました。」
「現在私たちはハイブリッド密度汎関数におけるスケーラビリティ改善でのみ可能な、ある特定の科学プロジェクトに着目しています。ケステライト型の鉱物構造を基にした新しいクラスのCuベースの4元半導体は、薄膜太陽電池用の理想的な吸収体材料と考えられるため非常に注目されています。」
「太陽光変換の効率性をさらに改善するため、基本的な材料やこれらのケステライト材料のデバイス特性を理解することは重要です。残念ながら、CZTSに対応した標準の密度汎関数は実験に対してちょうど0.09 eVの電子バンドギャップと94% の誤差という結果になっています。最近私たちは大規模システムに関してハイブリッド密度汎関数(HSE06)が実験を厳密に再現できることを示しました。ハイブリッド密度汎関数のパフォーマンス改善は実太陽電池デバイスで使用されるCdS窓層をもつこの材料のヘテロ構造の形をモデル化するのに使用されます。この改善では何百の原子を含むnmと同程度の周期的超格子の構築が行われます。また光が吸収される際の電子とホールの分離を決定する、インターフェースで生じる電荷分布のシミュレーションが行われます。電子状態を正確に説明することは界面の電子構造を理解するのに不可欠であり、またモデル化し光起電装置のパフォーマンスを改善するのに使用できるヘテロ接合と関連する重要な物理パラメータの抽出に不可欠です。最終的に、ハイブリッド汎関数の使用にはっきりと依存しているこれらのシミュレーションは次世代のデバイスにおける光電気交換効率の改善をもたらしました。」
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているVASPプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
このdCSEプロジェクトの目的は、OpenMP共有メモリ並列化を分散型メモリのFortran90+MPI code に導入することにより効率的な混合モード版のVASPを生成することと、ノードごとに使用されるコア数を増やすことでコードの効率性を改善すること、そして代表的なテストケースに対する混合モードのパフォーマンスと正確性を検証することでした。UCLの化学科のScott Woodley はプロジェクトの研究責任者でした。 EPCCのGavin Pringle と Andrew TurnerはNAG CSEチームと密接に協力して12人月のプロジェクトを実行しました。
プロジェクトの結果
二つの新しい混合モードのOpenMP+MPI 版の VASP が開発されました。最初のVASPは既存のVASP 5.2.12ルーチンへのOpenMP共有メモリ並列化指示文を使用しています。これはオリジナルコードと比較して並列効率性において50%の改善を達成しています。今ではこのバージョンのユーザは倍のコア数を使用することができます。したがって使用できるメモリが増加しています。新バージョンのユーザは倍のコア数を使用することができ、使用できるメモリが増加しているので、この開発により以前は可能ではなかった新しい科学が可能となります。
GPUベース版のVASPに端を発する2番目のバージョンのVASPは、コードの密度汎関数理論/ ハートリー・フォック(Hartree-Fock )のコードについて完全に再構築する必要がありました。また、VASPのFFTルーチンを現在VASPのHECToRユーザに使用されている高度に最適化されたFFTW3ライブラリと置き換えることによりパフォーマンスの増加を達成しました。
(注)アロケーションユニット(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)までお問い合わせください。