教師データ作成・ニューラルネットワーク学習・分子動力学シミュレーションのベンチマーク#
Advance/NeuralMDを使ってニューラルネットワーク分子動力学シミュレーションを行うには、
- 教師データの作成(Quantum ESPRESSO)
- ニューラルネットワークの学習(Advance/NeuralMD)
- 分子動力学シミュレーション(LAMMPS)
という3ステップの計算が必要になります。実用的な系を扱う場合にはいずれもそこそこ重い計算になりますので、多くのCPUコアを持つワークステーションやクラスターと呼ばれるマシンを使って実行することになります。
本記事では、実際の計算で使われるようなスペックのマシンを用意し、3ステップの計算をそれぞれ行った結果を示します。計算時間の目安を掴むための参考としてお使いください。
計算機環境#
- CPU: 第3世代(Ice Lake)Xeon 24コア 2.6GHz ×2個 (計48コア)
- メモリ: 32GB DDR4-3200 ECC RDIMM ×16枚 (計512GB)
- OS: AlmaLinux 8.3
計算機環境の用意・使用にあたっては、HPCシステムズ様にご協力いただきました。
対象とする系#
Li10GeP2S12 (LGPS) を対象として計算を行いました。全固体リチウムイオン電池における固体電解質としての利用が期待されている物質です。

ベンチマーク1: 教師データの作成#
Quantum ESPRESSO 6.7(アドバンスソフト改修版、Advance/NanoLabo Toolに同梱)を使った第一原理電子状態計算を実行します。多数の異なる原子構造を入力としてそれぞれ計算を実行し、出力ファイルとして教師データを得ます。
Quantum ESPRESSOはMPI並列を使用して実行しました。この場合、計算機にあるすべてのコアを使った並列計算(今回は48並列)を1つずつ順次実行していくという方法もありますが、並列数が多すぎると効率が下がったり、そもそも計算が実行できない場合もあります。そこで、並列数を少なくしてかわりに複数の計算を同時に実行する(例:24並列の計算を2つ並行して実行する)というパターンも試しました。
今回の環境ではOpenPBS 20.0.1を導入しており、それぞれの計算をジョブとして投入し実行しました。
また、原子数が異なる場合についても確認するため、元の構造(50原子)と、2×2×1のスーパーセル(200原子)を用意し、
- 50原子×500構造
- 200原子×125構造
の2通りを試しました。教師データは各原子ごとに得られるので、データの数としてはどちらも同じになります。
結果の実行時間のプロットです。cputime_sum
が各ジョブの実行時間の合計、walltime_max
が最も長いジョブの実行時間で、後者が実際に計算の実行にかかる時間に当たります。
- MPI並列数12~16で効率が良く、それ以上では並列化効率が下がり、実行時間が長くなっています。
- 逆に、各ジョブのMPI並列数が少なくても、同時に実行するジョブが多くなると実行時間が長くなっています。ファイルアクセスなど、多数ジョブの同時実行に伴うボトルネックがあるようです。
- MPI並列の使用有無による差もあり、MPI並列数1(並列計算を使用しない)のときに計算時間が短くなっています。特に200原子の場合、48ジョブを同時に実行しているにもかかわらず最も実行時間が短くなっています。
ベンチマーク2: ニューラルネットワークの学習#
Advance/NeuralMD 1.4を使ったニューラルネットワークの学習を実行します。前項の教師データ(50原子×500構造+200原子×125構造=50000原子分)を結合したものを使います。
今回は実行する計算自体は1つです。MPIとOpenMPのハイブリッド並列を使用し、MPI並列数×OpenMP並列数=全コア数(48)という条件で複数のパターンを試しました。エポック数は10000に固定しました。
結果の実行時間のプロットです。
- OpenMP並列よりもMPI並列の効率が良く、最大のMPI並列数48で実行時間が最短になっています。
ベンチマーク3: 分子動力学シミュレーション#
LAMMPS 7Aug2019(アドバンスソフト改修版、Advance/NanoLabo Toolに同梱)を使った分子動力学シミュレーションを実行します。前項で学習したニューラルネットワークによる力場を使います。
こちらの計算もMPIとOpenMPのハイブリッド並列を使用し、MPI並列数×OpenMP並列数=全コア数(48)という条件で複数のパターンを試しました。
LGPSのスーパーセル(1200原子)を使用し、300 KでのNVT計算を2000000ステップ(1 ns)実行しました。
結果の実行時間のプロットです。
- MPI並列数12×OpenMP並列数4程度のハイブリッド並列で効率が良くなっています。
まとめ#
以上の結果から、各工程の実行時間の目安を示します。教師データ作成については、より実用的な値にするため、10倍の5000構造としています。
工程 | 計算時間 | 内容 | 並列数 |
---|---|---|---|
教師データ作成 | 6.3時間 | 5000構造 | MPI16並列×3ジョブ並列同時実行 |
NN力場学習 | 11分 | 50000原子 | MPI48並列 |
分子動力学計算 | 19.5時間 | 2000000ステップ(1 ns) | MPI12×OpenMP4並列 |
今回の計算機環境では、1~2日程度で一通りの計算が実行できることがわかりました。
参考: 計算に使用するマシンの具体例#
HPCシステムズ様から、Advance/NeuralMDの計算に使用できるマシンをいくつか挙げていただきました。
ワークステーション#
ラックマウント#
もちろん、これら以外にもご予算・必要スペック等に合わせて様々な構成のマシンをお使いいただけます。マシンの購入をご検討でしたら、是非HPCシステムズ様にご相談ください。