6.7.3. Quantum Espresso
Quantum Espressoの概要#
本サービスにプリインストールされたQuantum Espressoの利用に関する情報を記述します。下記のジョブスクリプト例では、入力データとしてQuantum Espressoのtest-suiteに含まれるtest-suite/pw_electric/electric0.in
とQuantum Espressoの公式ウェブサイトにて公開されている疑ポテンシャルファイルを使用しています。
- 入力ファイルの配備手順を以下に示します。インターネットアクセスが必要となるためログインノードで実行してください。
$ git clone https://gitlab.com/QEF/q-e-gpu.git $ cp -rp q-e-gpu/test-suite/pw_electric/electric0.in (JOBを実行するディレクトリ)/ $ wget http://pseudopotentials.quantum-espresso.org/upf_files/Si.pbe-rrkj.UPF $ mkdir -p ${HOME}/espresso/pseudo $ cp -rp Si.pbe-rrkj.UPF ${HOME}/espresso/pseudo
Armシステムのジョブスクリプト例#
-
環境設定
計算ノードで対話的に実行する場合、
spack
コマンドで必要な環境設定を行ないます。
$ . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh $ spack load quantum-espresso /mfu6en2
-
バッチジョブのスクリプト記述例
8MPIプロセス×4スレッド並列のバッチジョブのスクリプト例を以下に示します。
#!/bin/sh #PJM -L "node=1" #PJM -L "rscunit=rscunit_ft01" #PJM -L "rscgrp=arm-small" #PJM -L "elapse=01:00:00" #PJM --mpi "proc=8" #PJM -j # Setting of SPACK . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh spack load quantum-espresso /mfu6en2 # Thread settings export OMP_NUM_THREADS=4 # RUN Quantum Espresso mpiexec -n 8 -ofout PWscf.out pw.x -in electric0.in
x86システムのジョブスクリプト例#
-
環境設定
計算ノードで対話的に実行する場合、
spack
コマンドで必要な環境設定を行ないます。
$ . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh $ spack load quantum-espresso /s2krbdq
- バッチジョブのスクリプト記述例
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 --mpi "proc=8" #PJM -j # Setting of SPACK . /fefs1/app/spack/spack-0.18.0/share/spack/setup-env.sh spack load quantum-espresso /s2krbdq # 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 Quantum Espresso mpiexec.hydra -n 8 pw.x -in electric0.in > PWscf.out
GPUシステムのジョブスクリプト例#
-
環境設定
計算ノードで対話的に実行する場合、
module
コマンドで必要な環境設定を行ないます。
$ module load nvhpc/21.9 $ module load mkl/latest $ module load quantum-espresso/7.0 $ export LD_LIBRARY_PATH=/fefs1/app/x86/intel/oneapi/intelpython/python3.9/lib:$LD_LIBRARY_PATH
-
バッチジョブのスクリプト記述例
2MPIプロセス×2スレッド並列のバッチジョブのスクリプト例を以下に示します。
#!/bin/sh #PJM -L "gpu=8" #PJM -L "rscunit=rscunit_pg02" #PJM -L "rscgrp=gpu-large" #PJM -L "elapse=1:00:00" #PJM -j # Setting of module & QE module load nvhpc/21.9 module load mkl/latest module load quantum-espresso/7.0 export LD_LIBRARY_PATH=/fefs1/app/x86/intel/oneapi/intelpython/python3.9/lib:$LD_LIBRARY_PATH export NO_STOP_MESSAGE=y # Thread settings export OMP_NUM_THREADS=2 # RUN Quantum Espresso mpirun -n 2 -mca btl vader,self pw.x -in electric0.in > PWscf.out