実行スクリプトの書式 =================================== プログラムを動作させる際に使用する実行スクリプトの書式について説明します。実行スクリプトを必要とするアプリケーションを実行する際は、事前に実行スクリプトを作成しておく必要があります。 MPI を使用しないジョブの実行 ---------------------------------------- .. code-block :: none #!/bin/sh #PBS -l select=1 #PBS -q キュー名 #PBS -N ジョブ名 cd $PBS_O_WORKDIR 実行プログラム > 出力ファイル 2> エラー出力ファイル ・例 プログラムa.outを実行 .. code-block :: none #!/bin/sh #PBS -l select=1 #PBS -q CP_001 #PBS -N sample cd $PBS_O_WORKDIR ./a.out > result.out 2> result.err MPI を使用したジョブの実行 ------------------------------------ .. code-block :: none #!/bin/sh #PBS -l select=ノード数:ncpus=コア数:mem=メモリ量gb #PBS -l walltime=実行時間 #PBS -q キュー名 #PBS -N ジョブ名 cd $PBS_O_WORKDIR mpirun [ -np 並列数 | -ppn ノードあたりの並列数 ] 実行プログラム > 出力ファイル 2> エラー出力ファイル ・例 Intelコンパイラでコンパイルしたプログラムa.outを共有キューで、8MPIプロセス、メモリ32GB、walltime 1時間で実行 .. code-block :: none #!/bin/sh #PBS -l select=1:ncpus=8:mem=32gb #PBS -l walltime=01:00:00 #PBS -q CP_001 #PBS -N mpi module load oneapi cd $PBS_O_WORKDIR mpirun -np 8 ./a.out > result.out 2> result.err ・例 Intelコンパイラでコンパイルしたプログラムa.outを2ノード、ノード当たり112MPIプロセスで実行 .. code-block :: none #!/bin/sh #PBS -l select=2 #PBS -q CP_030 #PBS -N mpi module load oneapi cd $PBS_O_WORKDIR mpirun -np 224 -ppn 112 ./a.out > result.out 2> result.err アクセラレータを使用したジョブの実行 ------------------------------------ .. code-block :: none #!/bin/sh #PBS -l select=ノード数:ncpus=コア数:ngpus=GPU数:mem=メモリ量gb #PBS -l walltime=実行時間 #PBS -q キュー名 #PBS -N ジョブ名 cd $PBS_O_WORKDIR mpirun [ -np 並列数 | -ppn ノードあたりの並列数 ] 実行プログラム > 出力ファイル 2> エラー出力ファイル ・例 NVIDIA HPCコンパイラでコンパイルしたプログラムa.outを2MPIプロセス、2GPU、メモリ64GB、walltime 30分で実行 .. code-block :: none #!/bin/sh #PBS -l select=1:ncpus=2:ngpus=2:mem=64gb #PBS -l walltime=00:30:00 #PBS -q CA_001 #PBS -N mpi module load nvhpc cd $PBS_O_WORKDIR mpirun -np 4 -hostfile $PBS_NODEFILE -x LD_LIBRARY_PATH -x HCOLL_MAIN_IB=all ./a.out > result.out 2> result.err