2017-04-15 2 views
-1

Ich habe meine Haare für etwa eine Woche gezogen, um das sbatch-Jobskript an mehrere Knoten zu senden. Ich habe zwei Rechenknoten mit (2) Sockets (12) Kernen/Socket (2) Threads/Core. Ich habe ein einfaches c-Programm, das die Fibonacci-Serie berechnet (kein Multi-Thread oder mpi nur ein Single-Core-Programm).Sbatch und srun SLURM sch

Jetzt habe ich Skript fib.sh, das 30 Zeilen enthält "srun ./fibonacci &" und ich tun ./fib.sh die ersten 12 Jobs auf dem ersten Knoten1 laufen, die nächsten 12 auf einem anderen Knoten2 laufen und die Ruhe ist im Wartezustand was ich will.

Aber wenn ich versuche, das gleiche Verhalten mit sbatch zu bekommen, laufen alle Aufgaben auf node1, was nicht das ist, was ich will. Ich habe mit den #SBATCH-Flags mit -n1 -N2, --cpus-per-task = 1 herumgewunken, aber nicht das gewünschte Ergebnis erzielt. Ich schätze es, wenn jemand etwas Licht dazu bringen kann.

Unten ist ein Teil meiner slurm.conf benötigt, wenn

# 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 

Unten ist die sbatch Skript

#!/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 

Antwort

2

Wenn ich verstanden habe richtig Sie 30 identische Kopien von fib ausgeführt werden soll? (First off, Sie wollen nicht 30 srun Linien (oder die &) - SLURM die mehrere Kopien Griffe.)

Wenn dies der Fall ist, werden Sie wahrscheinlich in Ihrem einreichen Skript nur so etwas wie dies wollen:

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