-1
我一直在拉我的頭髮大約一週,以獲得sbatch作業腳本提交到多個節點。我有兩個帶有(2)插槽(12)內核/插槽(2)線程/內核的計算節點。 我有一個簡單的c程序,它可以計算斐波那契數列(沒有多線程或mpi只是一個單進程單核程序)。Sbatch和srun SLURM sch
現在我有腳本fib.sh其中包含「SRUN ./fibonacci &」的30行,我做./fib.sh 1日12個工作在第一節點1時運行時,另一節點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