LAMMPSは、オープンソースの分子動力学アプリケーションです。OCTOPUSではバッチリクエストによる LAMMPS の利用が可能となっております。
LAMMPSの利用は申請不要です。OCTOPUSの利用を申し込まれた方は、どなたでも利用可能です。
GPUを利用する場合と利用しない場合で、ジョブスクリプト中で指定する実行ファイル名が変わりますのでご注意ください。
本ページの内容はOCTOPUS上での利用方法です。VCC利用者はこちら。
※LAMMPSは試験サービス中です。本ページに記載しているような「基本的な利用」についてのサポートは可能ですが、チューニング等の技術サポートはいたしかねますので、ご了承ください。
基本的な利用方法(GPU利用無し)
LAMMPSの実行は、バッチリクエストによる処理のみ許可しております。
フロントエンドノードに接続し、計算に必要な入力ファイル、ジョブスクリプトを作成後、ジョブ投入して行います。
LAMMPS(22 Aug, 2018)を利用する際のジョブスクリプト例と、ジョブ実行方法について以下で解説いたします。
※LAMMPSについてのマニュアルは公式HPをご参照ください。
ジョブスクリプトの作成
以下の例は96プロセス(4ノード使用、ノード当たり24プロセス)でLAMMPSを実行する場合のジョブスクリプトです。
ファイル名に特に指定はありませんが、本項ではlammps.shとしています。
1 2 3 4 5 6 7 |
#!/bin/bash #PBS -q OCTOPUS #PBS -l cpunum_job=24,elapstim_req=1:00:00 #PBS -T intmpi #PBS -b 4 cd $PBS_O_WORKDIR mpirun ${NQSII_MPIOPTS} -np 96 /octfs/apl/LAMMPS/lammps-22Aug18/bin/lmp_mpi < /octfs/apl/LAMMPS/lammps-22Aug18/bench/in.lj |
(解説)
7行目はmpirunコマンドでLAMMPSを並列実行しています。コマンドは下記の通りです。
mpirun ${NQSII_MPIOPTS} -np (総並列数) 実行ファイル名(/octfs/apl/LAMMPS/lammps-11Aug17/bin/lmp_mpi) < (入力ファイル)
その他の行については下記をご覧ください。
ジョブスクリプトの書き方
構成について
LAMMPSのインストールディレクトリは下記になります。
複数のバージョンがインストールされています。
/octfs/apl/LAMMPS/
導入したパッケージは下記の通りです。
ASPHERE,BODY,CLASS2,COLLOID,COMPRESS,CORESHELL,DIPOLE,
GRANULAR,KSPACE,MANYBODY,MC,MEAM,MISC,MOLECULE,MPIIO,
OPT,PERI,POEMS,PYTHON,QEQ,REAX,REPLICA,RIGID,SHOCK,SNAP,SPIN,
SRD,VORONOI,,USER-ATC,USER-AWPMD,USER-BOCS,USER-CGDNA,USER-CGSDK,
USER-COLVARS,USER-DIFFRACTION,USER-DPD,USER-DRUDE,USER-EFF,
USER-FEP,USER-INTEL,USER-LB,USER-MANIFOLD,USER-MEAMC,USER-MESO,
USER-MGPT,USER-MISC,USER-MOFFF,USER-NETCDF,USER-OMP,USER-PHONON,
USER-QTB,USER-REAXC,USER-SMTBQ,USER-SPH,USER-TALLY,USER-UEF,
LAMMPSの各種入力ファイルについては公式HPをご覧くださいませ。
ジョブスクリプトのその他の行についてはこちらをご参照ください。
実行方法
作成したジョブスクリプトを投入します。
% qsub lammps.sh
投入したジョブの状況確認方法はこちら。
実行が終了すると、結果ファイルに計算結果が出力されます。
GPU版利用方法
OCTOPUSでは、バッチリクエストによる GPU版LAMMPS の利用も可能となっております。
GPU版LAMMPS(22 Aug, 2018)を利用する際のジョブスクリプト例と、ジョブ実行方法について以下で解説いたします。
GPUパッケージを利用する場合のジョブスクリプト例
以下の例は96プロセス(4ノード使用、1ノードあたり24プロセス)でGPUを16基(1ノードあたり4基)使用する場合のジョブスクリプトです。
ファイル名に特に指定はありませんが、本項ではlammps_gpu.shとしています。
1 2 3 4 5 6 7 8 |
#!/bin/bash #PBS -q OCTOPUS #PBS -l cpunum_job=24,elapstim_req=1:00:00,gpunum_job=4 #PBS -T intmpi #PBS -b 4 cd $PBS_O_WORKDIR export LD_LIBRARY_PATH=/octfs/apl/CUDA/cuda-9.0/lib64:$LD_LIBRARY_PATH mpirun ${NQSII_MPIOPTS} -np 96 -ppn 24 /octfs/apl/LAMMPS-GPU/lammps-22Aug18/bin/lmp_gpu -sf gpu -pk gpu 4 < /octfs/apl/LAMMPS-GPU/lammps-22Aug18/bench/in.lj |
(解説)
GPUノードを利用する場合、3行目の-lオプションで"gpunum_job(1ノードあたりのGPU使用枚数)"を指定する必要があります。
7行目ではGPUの利用に必要となる環境変数を設定しています。
8行目のmpirunコマンドでLAMMPSをGPU実行しています。CPU実行時と比べ、指定するオプションが増えています。
mpirun ${NQSII_MPIOPTS} -np (総並列数) -ppn (1ノードあたりの並列数) 実行ファイル名(/octfs/apl/LAMMPS-GPU/lammps-11Aug17/bin/lmp_gpu) -sf gpu -pk gpu (1ノードあたりのGPU利用枚数)< (入力ファイル)
LAMMPSの構成について
GPU版LAMMPSのインストールディレクトリは下記になります。
複数のバージョンがインストールされています。
/octfs/apl/LAMMPS-GPU/
導入したパッケージは下記の通りです。
通常版と若干差がありますのでご注意ください。
ASPHERE,BODY,CLASS2,COLLOID,COMPRESS,CORESHELL,DIPOLE,GPU,
GRANULAR,KSPACE,LATTE,MANYBODY,MC,MEAM,MISC,MOLECULE,MPIIO,
OPT,PERI,POEMS,PYTHON,QEQ,REAX,REPLICA,RIGID,SHOCK,SNAP,SPIN,
SRD,VORONOI,,USER-ATC,USER-AWPMD,USER-BOCS,USER-CGDNA,USER-CGSDK,
USER-COLVARS,USER-DIFFRACTION,USER-DPD,USER-DRUDE,USER-EFF,
USER-FEP,USER-INTEL,USER-LB,USER-MANIFOLD,USER-MEAMC,USER-MESO,
USER-MGPT,USER-MISC,USER-MOFFF,USER-NETCDF,USER-OMP,USER-PHONON,
USER-QTB,USER-REAXC,USER-SMTBQ,USER-SPH,USER-TALLY,USER-UEF,
LAMMPSの各種入力ファイルについては公式HPをご覧くださいませ。
ジョブスクリプトのその他の行についてはこちらをご参照ください。
実行方法
作成したジョブスクリプトを投入します。
% qsub lammps_gpu.sh
投入したジョブの状況確認方法はこちら。
実行が終了すると、結果ファイルに計算結果が出力されます。