Job-Skripte
Skripte sollten in der Regel im Dateisystem /home
gespeichert werden. Da aber im Allgemeinen Programm im Dateisystem /scratch
laufen sollen, muss man im Skript einen entsprechenden Wechsel des Arbeitsverzeichnis vornehmen. Nur die Ergebnisse, die nach Beendigung des Jobs entstehen, sollten auf dem Dateisystem /home
erzeugt oder dorthin kopiert werden. Weitere Informationen zu den Dateisystemen stehen hier.
Zeilen, die mit #SBATCH
anfangen, enthalten die Steuerinformationen für das Queueing-System. Aus Sicht der Shell handelt es sich nur um Kommentare, die ignoriert werden. Sie können daher auch beliebige andere Shellsprachen (csh
, ksh
, Python
. Perl
, ...) verwenden, solange die Syntax #SBATCH
als Kommentar zulässig ist.
Falls Sie mehrere gleichartige Jobs starten wollen, benutzen Sie dafür ein Job-Array.
Bitte beachten Sie, dass nur <username>@zedat.fu-berlin.de
als E-Mail-Adresse akzeptiert wird. Andere Adressen werden automatisch durch diese ersetzt. Dies soll verhindern, dass eine durch den Cluster in kurzer Zeit erzeugte Vielzahl von E-Mails an einen externen Provider zu einer Sperre der FU durch diesen Provider führt.
Verwenden Sie die Umgebungsvariablen, die Slurm bietet, um das mehrfache Hartcodierung von Zahlen zu vermeiden, z.B.
...
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
...
example_parallel_program --nthreads ${SLURM_CPUS_PER_TASK}