MPI等を用いてビルドした場合、pw.xは以下のように実行します。
mpirun -np 4 pw.x < scf.in > scf.out
あるいは
mpirun -np 4 pw.x -i scf.in > scf.out
ここで入力ファイルはscf.in、出力ファイルはscf.outとし、4プロセスを用いて実行しています。
TBD
ここではohtaka上でOneAPIを使ってpw.xをビルドしたと仮定します。 使用したモジュールは以下とします。
1) oneapi_compiler/2023.0.0 2) oneapi_mkl/2023.0.0 3) oneapi_mpi/2023.0.0
簡単のため、pw.xへのコマンドサーチパスは既に設定されているとします。 ohtaka上ではmpirunではなくsrunを用いてpw.xを実行します。 またpw.xはジョブスクリプトを用いて投入する必要があります。 以下にジョブスクリプトの例を示します。
#!/bin/sh
#SBATCH -J FeS2
#SBATCH -p i8cpu
#SBATCH -N 8
#SBATCH -n 256
#SBATCH -c 4
#SBATCH -t 00:30:00
#
###########
# Modules #
###########
#
module purge
module load oneapi_compiler/2023.0.0 oneapi_mkl/2023.0.0 oneapi_mpi/2023.0.0
export FI_PROVIDER=psm3
ulimit -s unlimited
#
#########################
# Parallelization level #
#########################
#
# k-point (pool) parallelism
#
NPOOLS=1
#
# band parallelism
#
NBAND=4
#
# MPI command
#
MPI_COMMAND=srun
#
# PW commands
#
PW_DIR="${HOME}/QE/src/qe-7.3/bin"
#
# Execute
#
${MPI_COMMAND} ${PW} < ${INPUT_FILE} > ${OUTPUT_FILE}
ジョブを実行するには以下を実行します。
sbatch run.sh