6.7.1. GROMACS
GROMACSの概要#
本サービスにプリインストールされたGROMACSの利用に関する情報を記述します。 下記のジョブスクリプト例では、入力データとしてADH cubicのテストデータを使用しています。
- 入力ファイルの配備手順を以下に示します。インターネットアクセスが必要となるためログインノードで実行してください。
$ wget https://ftp.gromacs.org/pub/benchmarks/ADH_bench_systems.tar.gz $ tar zxvf ADH_bench_systems.tar.gz $ cp -rp ADH/adh_cubic/* (JOBを実行するディレクトリ)/
Armシステムのジョブスクリプト例#
-
環境設定
計算ノードで対話的に実行する場合、
module
コマンドで必要な環境設定を行ないます。
$ module load development-studio/1.2.35 $ module load gromacs/2021
-
バッチジョブのスクリプト記述例
8MPIプロセス×4スレッド並列のバッチジョブのスクリプト例を以下に示します。
#!/bin/sh #PJM -L "node=1" #PJM -L "rscunit=rscunit_ft01" #PJM -L "rscgrp=arm-small" #PJM -L "elapse=1:00:00" #PJM --mpi "proc=8" #PJM -j # Setting of module module load development-studio/1.2.35 module load gromacs/2021 # RUN gromacs mpiexec -n 1 gmx_mpi grompp -f pme_verlet.mdp -c conf.gro -p topol.top -o ions.tpr mpiexec -n 8 gmx_mpi mdrun -ntomp 4 -s ions.tpr
x86システムのジョブスクリプト例#
-
環境設定
計算ノードで対話的に実行する場合、
spack
コマンドで必要な環境設定を行ないます。
$ . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh $ spack load gromacs /nscnvpd
-
バッチジョブのスクリプト記述例
8MPIプロセス×4スレッド並列のバッチジョブのスクリプト例を以下に示します。
#!/bin/sh #PJM -L "node=1" #PJM -L "rscunit=rscunit_pg01" #PJM -L "rscgrp=x86-small" #PJM -L "elapse=1:00:00" #PJM -j # Setting of SPACK . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh spack load gromacs /nscnvpd # MPI settings export I_MPI_HYDRA_HOST_FILE=${PJM_O_NODEINF} export I_MPI_PERHOST=8 export I_MPI_HYDRA_BOOTSTRAP=rsh export I_MPI_HYDRA_BOOTSTRAP_EXEC=/bin/pjrsh export I_MPI_PIN_DOMAIN=omp export I_MPI_PIN_CELL=core # Thread settings export OMP_NUM_THREADS=4 export KMP_STACKSIZE=8m export KMP_AFFINITY="compact" # RUN gromacs mpiexec.hydra -n 1 gmx_mpi grompp -f pme_verlet.mdp -c conf.gro -p topol.top -o ions.tpr mpiexec.hydra -n 8 gmx_mpi mdrun -ntomp 4 -s ions.tpr
GPUシステムのジョブスクリプト例#
-
環境設定
計算ノードで対話的に実行する場合、
spack
コマンドで必要な環境設定を行ないます。
$ . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh $ spack load gromacs /stfcpos
-
バッチジョブのスクリプト記述例
2MPIプロセス×2スレッド並列のバッチジョブのスクリプト例を以下に示します。
#!/bin/sh #PJM -L "gpu=8" # 使用するGPU数 #PJM -L "rscunit=rscunit_pg02" #PJM -L "rscgrp=gpu-large" #PJM -L "elapse=1:00:00" #PJM -j # Setting of SPACK . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh spack load gromacs /stfcpos # MPI settings export I_MPI_HYDRA_HOST_FILE=${PJM_O_NODEINF} export I_MPI_PERHOST=2 export I_MPI_HYDRA_BOOTSTRAP=rsh export I_MPI_HYDRA_BOOTSTRAP_EXEC=/bin/pjrsh export I_MPI_PIN_DOMAIN=omp export I_MPI_PIN_CELL=core # Thread settings export OMP_NUM_THREADS=2 export KMP_STACKSIZE=8m export KMP_AFFINITY="compact" # RUN gromacs mpiexec.hydra -n 1 gmx_mpi grompp -f pme_verlet.mdp -c conf.gro -p topol.top -o ions.tpr mpiexec.hydra -n 2 gmx_mpi mdrun -ntomp 2 -s ions.tpr -gpu_id 0