対象プログラム | 量子モンテカルロアプリケーション |
アプリケーション名 | CASINO |
チューニング方法 | MDとの連成 |
成果 | Quantum ESPRESSOの分子動力学コードPWscfとのスケーラブルな連成実装を組み込み、82,944コアで線形な弱スケーリング性を示した。 |
nAGの HECToR dCSEチームが分子動力学と連成した量子モンテカルロコードCASINOを開発
英国の学術研究機関向けのスーパーコンピューティング設備であるHECToR 向けのnAGの計算科学エンジニアリング(CSE)サポートサービスの元、UCLの HPC専門家はQuantum ESPRESSOの分子動力学コードPWscfとのスケーラブルな連成計算を可能にすることで、CASINOの機能強化に成功しました。
CASINOは量子モンテカルロ法(QMC)に基づいた電子構造計算を行います。CASINOはQMCの優れたスケーラビリティのため、分散HPCアーキテクチャに非常に適しています。通常はHECToRの10,000コアや海外のHPCリソースを用いて利用されています。特にオークリッジ国立研究所のJaguar Cray XT5(1.75petaFLOPS)マシン上で、82,944コアを用いた計算が行われました。
dCSEの成功に言及して、UCL物理・天文学部のDario Alfe教授は述べました:『dCSEの開発はCASINOにとって極めて有用でした。作業の主目的はDFT-QMC分子動力学の連成機能の実装でした。これにより、QMCとDFT間の自由エネルギーの違いを効率よく計算できることになります。この実装はまた、DFTコードPWSCFでの試行波動関数生成、およびそれをBスプライン形式へ変換する部分を含む様々なボトルネックを解消した結果、これらは並列化され、大きな系において何百倍も高速化しました。』
『これは特殊な新しい機能のため、どのくらいのユーザがこの機能を利用するかは定かではありません。我々は当初、水分子の電子構造計算に適用することを計画しましたが、多くのアプリケーションが引き続くでしょう。我々はさらに2010-2015年のINCITEプログラムの元に、米国のマシンリソース(400百万CPU時間、つまりHECToRの2億AU(注)に相当します)にアクセスする将来的な2つのdCSEプロジェクトも追加しました。これはdCSEプロジェクトの成果なしでは有り得ませんでした。』
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはnAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとnAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているCASINOプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
このプロジェクトの目的はCASINOへ拡散モンテカルロ法(DMC)と密度汎関数法による分子動力学を連成されることでした。結果としてCASINOの修正が完了し、再重み付けとレベルクロッシング・チェックおよび周期的ジャストロー再計算がDFTとDMC間のデータ通信を可能にするインターフェイスと共に実装されました。
UCL物理・天文学部のDario Alfe教授はプロジェクトの主任調査員であり、UCLのNorbert Nemec、Mike TowlerがnAGのCSEリームと密接に連携して18人月で作業を行いました。
プロジェクトの成果
最初にPWscfとCASINOのインターフェイスが開発されました。これはファイル渡しとして実装され、その標準フォーマットには座標、基底関数、軌道係数が含まれます。次に連成DMCアルゴリズムの並列効率が、ウォーカー(即ち、ある配置における現在の電子位置のリストであり、エネルギーと波動関数に関連する様々な量を伴います)のコア間の割当てと再配置の改善により最適化されました。またこれは非同期通信を計算とオーバーラップさせる実装により達成されました。この他にマイナーな修正として、同一原子番号の元素のための多重擬ポテンシャル、多重jobの同時実行サポート、高速部分ランキングアルゴリズム、CRYSTAL09とのインターフェイスサポート、およびユーザマニュアルの改訂を行いました。
全ウォーカー分布に対してコア当たり100に固定した場合、オークリッジ国立研究所のCRAY XT5(1.75PetaFLOPS)マシンであるJaguar上の80,000コア以上を用いて、線形な弱スケーリング性が観測されました。さらに82,944コアでは、この新しいCASINO(2.7)は以前のバージョン2.6に比べて30%高速化し、ウォーカーの再配置(DMC平衡計算を含む)コストは、412秒から1秒に減少しました。この結果からCASINOは100,000コア以上のマシンでの利用が可能になると考えられます。
(注)アロケーションユニット(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)までお問い合わせください。