3.7. MPIジョブの実行方法¶
3.7.1. 説明¶
MPI 環境として、すべてのサーバでIntelMPI が利用可能です。また、XD670では、加えてnvhpc付属のOpenMPIが利用可能です。
3.7.2. 書式(IntelMPI)¶
ジョブ実行にはmpirunコマンドを使用します。
mpirun [ -np 並列数] [ -ppn ノードあたりの並列数 ] 実行プログラム
注意
※ジョブのパフォーマンスを高めるために以下が成り立つよう値を指定してください。 [MPI 並列数(-npの値)] = [ノード数(#PBS -l select=の値)] × [ノードあたりの並列数(-ppnの値)]
3.7.3. 使用例¶
#!/bin/bash
#PBS -l select=1
cd $PBS_O_WORKDIR
module load oneapi 2> /dev/null
mpirun -np 56 /work/app/ABINIT/abinit-10.2.7_cpu/bin/abinit < input.files > result.out 2> result.err
3.7.4. 書式(OpenMPI)¶
ジョブ実行にはmpirunコマンドを使用します。
mpirun [ -np 並列数] [ -N ノードあたりの並列数 ] -hostfile $PBS_NODEFILE -x LD_LIBRARY_PATH -x HCOLL_MAIN_IB=all 実行プログラム
注意
※ジョブのパフォーマンスを高めるために以下が成り立つよう値を指定してください。 [MPI 並列数(-npの値)] = [ノード数(#PBS -l select=の値)] × [ノードあたりの並列数(-Nの値)]
3.7.5. 使用例¶
#!/bin/bash
#PBS -l select=1:ncpus=4:ngpus=4
cd $PBS_O_WORKDIR
module load nvhpc > /dev/null
mpirun -np 4 -N 4 -hostfile $PBS_NODEFILE -x LD_LIBRARY_PATH -x HCOLL_MAIN_IB=all /work/app/VASP6/vasp.6.5.1_gpu/bin/vasp_std > vasp.out 2> vasp.err