QEの実行方法

一般的なpw.xの実行方法

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プロセスを用いて実行しています。

smith上での実行方法

TBD

ohtaka上での実行方法

ここでは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はジョブスクリプトを用いて投入する必要があります。 以下にジョブスクリプトの例を示します。

  • run.sh
    #!/bin/sh
    #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 directory and command
    #
    PW_DIR="${HOME}/QE/src/qe-7.3/bin"
    #
    PW="${PW_DIR}/pw.x -npools ${NPOOLS} -nband ${NBAND}"
    #
    # Execute
    #
    ${MPI_COMMAND} ${PW} < ${INPUT_FILE} > ${OUTPUT_FILE}
    以下に説明を加えます。
  • 使用するパーティションの指定
    #SBATCH -p  i8cpu
  • 使用するノードの数
    #SBATCH -N  8
  • 使用するプロセス数
    #SBATCH -n  256
  • 使用するスレッド数
    #SBATCH -c  4
  • 実行時間(の上限)
    #SBATCH -t  00:30:00
  • 使用するモジュールの指定。pw.xをビルドした際と同じものを指定
    module purge
    module load oneapi_compiler/2023.0.0 oneapi_mkl/2023.0.0 oneapi_mpi/2023.0.0
  • OneAPIを使用してプログラムをビルドした場合に指定する必要のある変数
    export FI_PROVIDER=psm3
  • 任意
    ulimit -s unlimited
  • k点並列数の指定(筆者独自の方法ですが(以下のプログラムの実行の箇所も参照)、)
    NPOOLS=1
  • バンド並列数の指定
    NBAND=4
  • MPIコマンドの指定
    MPI_COMMAND=srun
  • pw.xのディレクトリの指定
    PW_DIR="${HOME}/QE/src/qe-7.3/bin"
  • pw.xと並列数の指定
    PW="${PW_DIR}/pw.x -npools ${NPOOLS} -nband ${NBAND}"
  • pw.xの実行
    ${MPI_COMMAND} ${PW} < ${INPUT_FILE} > ${OUTPUT_FILE}

ジョブを実行するには以下を実行します。

sbatch run.sh
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-04-25 (金) 17:39:44 (389d)