ジョブスクリプトの作成
コンパイル済みの実行ファイルをバッチジョブとして実行するには,ジョブスケジューラに渡すジョブスクリプトを作成します.
ジョブスクリプト
ジョブスクリプトはジョブスケジューラに渡すオプション(qsubオプション)部分とコマンド実行部分から構成されます.
- qsubオプション部分:行の先頭に"#PBS”を記述します. 同じオプションをジョブ投入時に付加することもできます.
- それ以外の部分:シェルで実行されるコマンドとして扱われます.
ジョブスクリプト例 : MPIプログラム(コンパイル済)を実行する
#!/bin/csh ← 普段利用しているシェルを指定
#PBS -q SINGLE ← 投入先のキューの指定
#PBS -oe ← 標準出力,標準エラー出力を一ファイルに出力
#PBS -l select=2:mpiprocs=6 ← 必要なリソースの要求(この例では、MPI プロセス12並列)
#PBS -N my-job ← 投入するジョブ名の指定
setenv OMP_NUM_THREADS 1 ← OpenMP並列の並列数です. ピュアMPI実行の場合も省略せず必ず1を指定してください
setenv KMP_AFFINITY disabled
cd ${PBS_O_WORKDIR} ← 作業ディレクトリに移動
mpiexec_mpt -np 12 dplace -s1 ./a.out ← コンパイル済みの実行ファイルを実行
サンプルスクリプト
UV3000ログイン後,以下ディレクトリにPBSスクリプトのサンプルや実行例を置いています.
ログイン後,適宜自分のディレクトリにコピーして利用してください
uv: /work/Samples
リソースの指定
ジョブスクリプト, ジョブ投入時のリソースは以下のように指定します.
リソースの指定例
MPI Only
- 2 vNodes (12CPU Cores , 256GB Mem)
-l select=2:ncpu=6:mpiprocs=6
- 16 vNodes, (96CPU Cores , 2TB Mem)
-l select=16:ncpu=6:mpiprocs=6
OpenMP
- 1 vNode (6 CPU Cores , 128GB Mem)
-l select=1:ncpus=6
- 8 vNode (48 CPU Cores , 1TB Mem)
-l ncpus=48 << MPIを利用しないジョブの場合のみ,ncpusパラメータのみでリソースをスケール調整できます
Hybrid
- 32 vNodes (192 CPU Cores , 4TB Mem) , 1Nodes per 3Process and 3x2 threads.
-l select=32:ncpus=2:mpiprocs=3
vNodeサイズ対照表
cpuコアx6, memoryx128GB,cpu+メモリの組をvnodeといいます.
vNode | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
---|---|---|---|---|---|---|---|---|---|
Core数 | 6 | 12 | 24 | 48 | 96 | 192 | 384 | 768 | 1536 |
Memory | 128GB | 256GB | 512GB | 1TB | 2TB | 4TB | 8TB | 16TB | 32TB |
<メモリサイズ指定時の単位について>:
mem=256gbのように,mb,gbを単位として記載することもできますが,
1mb=1024kbで計算されるため,予定の容量より多くのリソースを取得することになります.
この結果,以下に示すvnodeの個数を想定より多く必要とすることになり,ジョブの実行待ちが長くなるなどの影響があります
キューの構成 (2017.7.28 修正済み)
キュー | vnode | Core数 | メモリ | 持続時間 | 同時実行(ユーザ一人あたり) | 優先度 |
---|---|---|---|---|---|---|
TINY | 1-4 | 1-24 | ~512GB | 6 hours | -(1) | - |
SINGLE | 1-2 | 1-12 | ~256GB | 7 days | 32(16) | 150 |
SMALL | 4-8 | 24-48 | ~1TB | 7 days | 16(6) | 130 |
MEDIUM | 8-16 | 48-96 | ~2TB | 72 hours | 4(1) | 90 |
16-32 | 96-192 | ~4TB | ||||
LARGE | 32-64 | 192-384 | ~8TB | 48 hours | 2(1) | 30 |
XLARGE | 64-128 | 384-768 | ~16TB | 48 hours | 1(1) | 30 |
APPLI | 1-2 | 1-16 | ~256GB | 3 weeks | 16(6) | 110 |
LONG-S | 1-8 | 1-48 | ~1TB | 2 weeks | 3(1) | 110 |
LONG-M | 8-32 | 48-192 | ~4TB | 1 weeks | 1(1) | 90 |
LONG-L | 32-96 | 192-576 | ~12TB | 5 days | 1(1) | 30 |
※ Starving(96 hours) + backfill