Command Palette

Search for a command to run...

LAMMPS-Bench分子動力学ベンチマークデータセット

日付

13日前

組織

ミシガン州立大学
サンディア国立研究所

ライセンス

GPL

Discordコミュニティに参加

※本データセットはオンライン利用に対応しておりますが、ここをクリックしてジャンプしてください

LAMMPS ベンチマーク データセットは、さまざまなハードウェアまたは構成での LAMMPS (分子動力学シミュレーション ソフトウェア) のパフォーマンスをテストおよび比較するために使用されます。

これらのデータセットは科学的な実験データではありませんが、計算性能(速度、スケーリング、効率)を評価するために使用されます。これらのデータセットには、特定のアーキテクチャ、力場ファイル、入力スクリプト、初期原子座標などが含まれており、LAMMPSによって公式にbench/フォルダ内に提供されています。

関連する論文結果は「LAMMPS – 原子、メソ、連続スケールでの粒子ベースの材料モデリングのための柔軟なシミュレーションツール「」は、サンディア国立研究所がミシガン州立大学、テンプル大学などの機関と共同で2022年に発表した。

このデータセットには5つのベンチマーク問題が含まれており、LAMMPSドキュメントのベンチマークセクションとLAMMPS公式サイトのベンチマークページ(https://www.lammps.org/bench.html) については で説明します。

このデータセットにはサブディレクトリも含まれています:

POTENTIALS: LAMMPS における様々なポテンシャルのベンチマークスクリプト

これらすべてのベンチマークの結果は、LAMMPS ウェブサイトのベンチマーク ページに表示され、説明されています。https://www.lammps.org/bench.html

この導入部の残りの部分では、データセットに含まれる5つのベンチマーク問題と、それらをCPU上で(逐次または並列で)実行する方法を説明します。サブディレクトリにはそれぞれのREADMEファイルが含まれており、スクリプトを実行する前に必ずお読みください。


以下に 5 つのベンチマークの質問を示します。

LJ = 原子流体、カットオフ半径 2.5 σ (原子あたり約 55 近傍) の Lennard-Jones ポテンシャルを使用し、NVE アンサンブルで時間積分されます。

チェーン = FENE 結合と、カットオフ半径 2^(1/6) σ (原子あたり約 5 つの隣接原子) のレナード・ジョーンズ対相互作用を使用して 100 個のモノマーから構成されるビーズスプリングポリマー溶融体、NVE アンサンブルで時間積分。

EAM = 金属固体、カットオフ半径 4.95 Å (原子あたり約 45 近傍) の銅 (Cu) の埋め込み原子ポテンシャル (EAM ポテンシャル) を使用し、NVE アンサンブルで時間積分。

シュート = 摩擦履歴項とカットオフ半径 1.1σ (原子あたり約 7 近傍) を持つポテンシャル関数を使用し、NVE アンサンブルで時間積分された粒状シュート フロー。

Rhodo = 溶媒和脂質二重層中のロドプシン。CHARMM力場を用いて、LJカットオフ半径10Å(原子あたり約440近傍)のロドプシンを測定した。長距離クーロン相互作用は、粒子-粒子/粒子ネットワーク法(PPPM)とNPTアンサンブルにおける時間積分を用いて計算した。


5つの問題はそれぞれ32,000個の原子を含み、100ステップで実行されます。各テストは、シリアルベンチマーク(単一プロセッサ)または並列で実行できます。並列モードでは、各ベンチマークを固定サイズまたはスケールサイズの問題として実行できます。固定サイズベンチマークでは、同じ32K原子システムを異なる数のプロセッサで実行します。スケールサイズベンチマークでは、システムサイズはプロセッサ数に応じて変化します。例えば、256K原子システムは8個のプロセッサで実行され、3200万原子システムは1,024個のプロセッサで実行されます。

このデータセットには、異なるマシンや異なるプロセッサ数で実行されたサンプルログファイルが含まれており、結果を比較するために使用できます。例えば、log.date.chain.lmp.scaled.foo.P というログファイルは、日付で識別されるLAMMPSバージョンを使用して、Pプロセッサを搭載したマシン「foo」で実行されたChainベンチマークのスケールバージョンを表しています。EamベンチマークとLjベンチマークは、異なるマシンで実行された場合、全く同じ結果が得られない可能性があることに注意してください。これは、「velocity loop geom」オプションが原子座標に基づいて速度を割り当てるためです。詳細については、velocityコマンドのドキュメントを参照してください。

実行の CPU 時間 (秒単位) は、ログ ファイルの「ループ時間」行に表示されます。次に例を示します。

32000個の原子で8つのプロセス、100ステップのループ時間は3.89418

さまざまなマシンでのこれらの問題のタイミング結果は、LAMMPS Web サイトのベンチマーク ページで確認できます。


LAMMPS 実行可能ファイルが lmp_mpi と呼ばれていると仮定して、各問題を実行する方法は次のとおりです。
mpirun コマンドを使用して並列実行を開始します。

シリアル操作(シングルプロセッサ):

lmp_mpi -in in.lj

lmp_mpi -in in.chain

lmp_mpi -in in.eam

lmp_mpi -in in.chute

lmp_mpi -in in.rhodo

並列固定サイズ実行 (この例では 8 プロセッサ):

mpirun -np 8 lmp_mpi -in in.lj

mpirun -np 8 lmp_mpi -in in.chain

mpirun -np 8 lmp_mpi -in in.eam

mpirun -np 8 lmp_mpi -in in.chute

mpirun -np 8 lmp_mpi -in in.rhodo

並列スケーラブル操作(この例では 16 個のプロセッサ):

mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.lj

mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.chain.scaled

mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.eam

mpirun -np 16 lmp_mpi -var x 4 -var y 4 -in in.chute.scaled

mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.rhodo.scaled

シュート操作にはPz = 1が必要です。
つまり、P = Px * Py となり、変数 x と y を設定するだけです。

AI で AI を構築

アイデアからローンチまで — 無料の AI 共同コーディング、すぐに使える環境、最適価格の GPU で AI 開発を加速。

AI 共同コーディング
すぐに使える GPU
最適価格
今すぐ始める

Hyper Newsletters

最新情報を購読する
北京時間 毎週月曜日の午前9時 に、その週の最新情報をメールでお届けします
メール配信サービスは MailChimp によって提供されています