大まかに似たような結果をもたらす3種類の異なるsbatch
スクリプトがあります。4つの並列ジョブを実行する別の方法についての質問
(Iスクリプトが異なる部分のみを示す図である。##
プレフィックスがsbatch
にスクリプトを送信した出力を示す)
スクリプト0
#SBATCH -n 4
srun -l hostname -s
## ==> slurm-7613732.out <==
## 0: node-73
## 1: node-73
## 2: node-73
## 3: node-73
スクリプト1
#SBATCH -n 1
#SBATCH -a 1-4
srun hostname -s
## ==> slurm-7613733_1.out <==
## node-72
##
## ==> slurm-7613733_2.out <==
## node-73
##
## ==> slurm-7613733_3.out <==
## node-72
##
## ==> slurm-7613733_4.out <==
## node-73
スクリプト2
#SBATCH -N 4
srun -l -n 4 hostname -s
## ==> slurm-7613738.out <==
## 0: node-74
## 2: node-76
## 1: node-75
## 3: node-77
Q:なぜ、他のアプローチよりも1つのアプローチを選択するのでしょうか?
は(私はスクリプト0によって生成されたジョブがすべて同じノードで実行されていたことがわかり、これは偶然の一致である場合、私はわかりません。)また
、スクリプト2(の以下のバリアント唯一の違い)-N 2
代わりに-N 4
失敗である:
スクリプト3
#SBATCH -N 2
srun -l -n 4 hostname -s
## ==> slurm-7614825.out <==
## srun: error: Unable to create job step: More processors requested than permitted
スクリプト2の次の変異のため同上(唯一の違いこれとスクリプト3は、ここでsrun
もフラグ-c 2
を持っているということである)の間:
スクリプト4
#SBATCH -N 2
srun -l -n 4 -c 2 hostname -s
## ==> slurm-7614827.out <==
## srun: error: Unable to create job step: More processors requested than permitted
Qsの:が間違っている、私が原因間違った構文にスクリプト3とスクリプト4で取得エラーですセマンティクス、またはサイト固有の設定? IOW、これらのスクリプトには本質的に何かがありますか(SLURMのいずれのインスタンスでも失敗する)、またはSLURMの特定のインスタンスによって課せられた制限違反によるエラーのみです。後者の場合は、エラーの原因となるconfigsをどのように特定できますか?