関連情報
ホーム > 製品&サービス > コンサルティングサービス > HPCチューニングサービス > 事例一覧 > HECToRプロジェクト - チューニングレポート<要約>:adaptive kinetic Monte CarloコーDL_AKMCドの並列化

HPCチューニングサービスの事例

チューニングレポート<要約>:adaptive kinetic Monte CarloコードDL_AKMCの並列化

*ここに掲載するのは、STFC Daresbury LaboratoryのDavid S.D. Gunn博士らによるHECToRレポートParallelisation of the adaptive kinetic Monte Carlo code, DL_AKMC, David S.D. Gunn and John A. Purton, Scientific Computing Department Science and Technology Facilities Council, Daresbury Laboratory, 30th September 2013」を要約したものです。

[2017年2月掲載]




概要

DL_AKMCは汎用的なadaptive kinetic Monte Carlo (aKMC)プログラムで、様々な分野で用いることが可能です。Kinetic Monte Carlo (KMC)法[1]は通常長いシミュレーション時間(秒のオーダーまで)のシミュレーションに用いられます。KMCは系の遷移(酸素の拡散といった)イベントリストを構成し、遷移はKMCループ毎に生じます。イベントリストは事前あるいは実行中どちらでも計算できますが、全てのイベントや欠陥配置は事前に決定はできないため後者の方法を取らざるを得ません。このため、起こりうるイベントとこれらイベントの活性化エネルギーを確実に決定することが必要となるためシミュレーション負荷は高くなり、これらの計算に要する時間が大きくなります。我々は数千イオンを含む系における数ミリ秒に渡るイオン物質の拡散を計算する手法を開発してきました。既存のDL_AKMCはシリアル実行のもので、鞍部点と活性化エネルギーを順次計算します。このプロジェクトでは、DL_AKMCを並列化し、HECToRや他のHPCシステムのマルチコアアーキテクチャを用いた力やエネルギーの計算を可能にします。

並列化の対象は、複数ノードを用いた鞍部点探索とOpenMP/MPIハイブリッド並列による力とエネルギー計算です。
DL_AKMCは科学における多くの異なる領域に適用可能です。例えば、酸素イオンの拡散とその結果としての燃料電池材料におけるイオン導電性や、氷蓋上の表面拡散、放射線による損傷を受けた物質の修復時間スケールなどがあります。このプログラムは柔軟な構造を持ち、活性化エネルギーの新しい計算手法やイオンのエネルギーに対する異なる計算手法の組み込みが容易です。

我々のグループは、ブリストル大学とシェフィールド大学のグループと連携して、放射線物質の保管に適切なセラミック材料の特定に対して原子論的シミュレーションを用いています。放射線廃棄物処理は今世紀の最も重要な環境問題解決の一つです[2]。英国内の現存する放射線廃棄物総量は約3.4M立方メートルで、その内高レベル廃棄物(HLW)は1,100立方メートル存在します[3]。更に、冷戦の遺産によるおよそ1500トンのPuの"中和"が必要とされています(239Puの半減期は24,100年です)。HLWの地層処分に関する放射性廃棄物管理委員会(CoRWM)勧告[4]が政府により受理され、安全な処分問題が検討されています。
安全な地層処分では、放射性核種を不活性マトリックスに結合させて地表面下深部に埋めることが要求されます。このマトリックスは、300-600Kにおいて長期の重粒子衝突に対して構造的完全性の保持が可能でなければなりません。また、その如何なる構成物質も、放射線核種の半減期に匹敵する時間スケールを超えて放射線損傷と溶出に対して抵抗性を持たねばなりません。

放射線損傷イベントは2ステッププロセスでモデル化されます。最初のステップは、分子動力学(MD)によりホスト材料中にエネルギー粒子を打ち込みカスケードを生成します(格子サイトからイオンがはじき出されます)。第二のステップでは、材料の修復特性を解析します(欠陥から格子サイトへのイオン拡散)。このプロセスは数秒以上掛かり、MDには適しません(MDの時間スケールは通常数ナノ秒です)。その代わりにDL_AKMCを用います。


プロジェクトの目標

開発対象はadaptive Kinetic Monte Carlo (aKMC)コードです。系の頻度の低いイベントと状態間遷移ダイナミクスのモデル化に対してaKMCが採る手法は、鞍部点探索と高調波遷移状態理論(harmonic transition state theory)です。動的イベントには多くの原子が含まれて、かつグリッドに制約されません。これは通常のKMCの条件を緩和するもので、状態遷移が事前に不明な状況で様々な利便性を持つコードになっています。

aKMCシミュレーションは最初にエネルギー極小配位から始まります。この状態とダイナミクス中に発生する全ての状態から、鞍部点探索を用いて系の可能なプロセスを探します。この探索においてはDL_FIND[6]に実装された`ダイマー`法[5]を用います。これは通常は数百回のエネルギー計算で鞍部点を見つけることが可能です。現状このダイマー法を用いるのは、これがロバストで鞍部点のエネルギー計算に比較的効率的なためです。またプログラムがモジュラー構成のため、大きな変更無しに別の手法を後で追加することも可能です。ダイマー法は現在シリアルに実行されており、各鞍部点探索間に依存性がないのでこのままでは非効率的です。そこでこのプロジェクトでは、各鞍部点探索を複数ノードへ分散させて並列に実行させることとします。一旦、各鞍部点探索が完了すれば、その遷移レートを高調波遷移状態理論で計算できます。こうしてKMCアルゴリズムは系を次の状態へ進めて処理が繰り返されます。


鞍部点探索の並列実行と効率改善

シミュレーションセル内における遷移の活性化エネルギー計算は、バルクな混合物からランダムに原子を選択するか、特定の原子を選択するか、あるいはダイマー法探索の前に全シミュレーションセルを活性化するか何れの方法でも可能です。既存のDL_AKMCで実行する各状態のダイマー法探索数はユーザが決めていました。通常のダイマー法探索数は、約1,000原子系においては20-50です。この処理は以下の作業で効率化されました。

シリアル実行プログラムでは順次実行されています。探索処理は他と独立しており、ノードへ分散することで効率改善が可能です。ここではコミュニケータを分割するタスクファーミング手法[7]を実装しました。ノード間通信量(探索の最初と最後で発生)は少なく、通信のオーバーヘッドはエネルギーや力の計算時間と比較して小さなものです。
小規模の2000原子系を用いて、HECToRの1,2,4,16,32コア上で各状態に対して20個のダイマー法検索を並列実行しました。結果としてコアの追加に対してほぼ比例した加速を示しました。

さらに、ダイマー法探索数を最小にするために、各状態の信頼度を組込み、重要な鞍部点が見つけられない確率を記述するようにしました。この信頼度は、鞍部点探索が十分に行われたかを決める動的基準であり、不要な鞍部点探索を除去してコード性能を向上させるものです。このアルゴリズムはXu and Henkelman[8]により提案された手法です。
状態当り20個のダイマー法探索数とした場合(HECToR5ノード上で12時間)の実行時間を比較しました。この実装により高速化は示されませんでしたが、特定の精度でシミュレーションを実行する信頼度が得られます。例えばユーザが各鞍部点で実行するダイマー法探索数5を指定した場合、シミュレーションは高い信頼限界でのものと比較して高速ですが、その物理は疑問です。


エネルギー/力の計算の効率改善

鞍部点探索は、系のエネルギー計算や原子/イオン上に働く力の計算が多く(鞍部点探索当り100回程度)要求され、最も時間の掛かる計算です。マルチコアアーキテクチャの活用という観点から、少なくとも1ノード上でOpenMPとMPIを用いてエネルギー/力の計算を実行可能なように修正しました。

エネルギー/力の計算は大きくはネストしたDO-loop内に組み込まれ、その中で原子間距離に基づく関数を評価します。この処理は系の各原子上で繰り返されます。OpenMP/MPIを用いてデータ複製と通した並列化が行われ、1000原子以上の系に適したコードとして開発されました。ダイマー法探索はノードに分散され、エネルギー/力の計算はコアに渡って分散されます。このプロジェクト予算ではありませんでしたが隣接リストの改善も行われました。
約2000イオンを持つGd2Ti2O7系を用いて、エネルギー/力の計算を200回実行しました。
エネルギー/力の並列計算は8コアまで良好なスケール性を示しました。これ以上では通信オーバーヘッドが性能を劣化させます。

DL_AKMCは、並列処理されるダイマー法探索数とエネルギー/力の計算あたりに用いるコア数の両方が最大に成る様なやり方で設計されています。大きなコア数を用いて一つのダイマー法探索を実行するよりも少数コア上のスケール性を測る方が妥当です。よって、HECToRコア数2,4,8,16,32に対して系のサイズを2K,20K,200Kに振ってベンチマークを行いました。実行時間は原子数の2乗に反比例してスケールします。

ユーザマニュアルはCCPForge website (http://ccpforge.cse.rl.ac.uk/gf/project/kmc/ )からダウンロード可能です。DL_AKMCは非商用利用目的のLGPLライセンス下で利用可能です。

謝辞

このプロジェクトは、NAG Ltd.が運営するHECToRの分散計算科学および工学(CSE)サービスの基に実行されました。英国の国立スーパーコンピューティング・サービスである、HECToR:英国リサーチ・カウンシル・ハイエンド計算サービスは、リサーチ・カウンシルを代行するEPSRCが管理しています。そのミッションは英国学術界の科学および工学の研究支援です。HECToRスーパーコンピューターは、UoE HPCx Ltd.およびNAG Ltd.のCSEサポートサービスにより管理運営されています。

文献

[1] M.R. Sorenson and A.F. Voter, J. Chem. Phys. 112 (2000) 9599
[2] Royal Society Policy Document 24/07 Strategy options for the UK's separated plutonium: http://royalsociety.org/displaypagedoc.asp?id=27169
[3] Nuclear Decommissioning Authority report, NDA/RWMD/003 (2008)
[4] Committee on Radioactive Waste Management (CoRWM) report 700: Recommendations to Government.
[5] G. Henkelman and H. Jónsson, J. Chem. Phys. 111 (1999) 7010
[6] J. Kästner, J.M. Carr, T.W. Keal, W. Thiel, A.Wander and P. Sherwood, J. Phys. Chem. A 113 (2009) 11856
[7] W. Gropp, E. Lusk and A. Skjellum, Using MPI: Portable Parellel Programming with Message Passing Interface, MIT Press (1999) page 61
[8] L. Xu and G. Henkelman, J. Chem. Phys. 129 (2008) 114104
[9] P. Steinhardt, D.R. Nelson and M. Ronchetti, Phys. Rev. B 28 (1983) 784
[10] A.F. Voter, Phys. Rev. B34 (1986) 6819

Results matter. Trust NAG.

Privacy Policy | Trademarks