Sbatch和srun SLURM sch

时间:2017-04-15 05:16:28

标签: slurm sbatch

我已经拉了我的头发大约一个星期,让sbatch作业脚本提交到多个节点。我有两个计算节点,其中(2)个套接字(12)核心/套接字(2)线程/核心。 我有一个简单的c程序来计算Fibonacci系列(没有多线程或mpi只是一个单进程单核程序)。

现在我的脚本fib.sh包含30行" srun ./fibonacci&"我做./fib.sh在第一个节点1上运行的前12个作业,在另一个节点2上运行的下一个12个作业,其余的处于等待状态,这就是我想要的。

但是当我尝试使用sbatch获得相同的行为时,所有任务都在node1上运行,这不是我想要的。我使用-n1 -N2,-cpus-per-task = 1来调整#SBATCH标志,但没有得到所需的结果。如果有人能对此有所了解,我表示感谢。

如果需要,下面是我的slurm.conf的一部分

# SCHEDULING 
FastSchedule=1
SchedulerType=sched/backfill
SelectType=select/cons_res
SelectTypeParameters=CR_Core

NodeName=node[1-2] Sockets=2 CoresPerSocket=12 ThreadsPerCore=2 State=UNKNOWN
PartitionName=debug Nodes=node[1-2] Default=YES MaxTime=INFINITE State=UP

以下是sbatch脚本

#!/bin/bash
# SBATCH --cpus-per-task=30
#SBATCH --ntasks-per-core=1
#run ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
srun ./fib 3 &
wait

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你想要运行30个相同的fib副本? (首先,您不需要30 srun行(或&) - SLURM处理多个副本。)

如果是这种情况,您可能只需要在提交脚本中使用以下内容:

#!/bin/bash
#SBATCH --ntasks=30
srun ./fib 3