Jobs und SLURM

Jobskripte

Die Nutzung des AI Clusters wird grundlegend durch Jobskripte gewährleistet. Dies bedeutet, dass ein Jobskript nach den jeweiligen Endnutzerbedürfnissen angepasst werden muss. Die wichtigsten Schritte sind dabei:

1. Jobskript editieren und anpassen

2. Jobskript ausführen

3. Jobstatus überwachen

4. Job abbrechen

5. Zusätzliche Befehle

1. Jobskript editieren und anpassen:

Hier ist ein Beispiel, wie ein Batchskript aufgebaut ist. Die Abschnitte, indem eine geschweifte Klammer enthalten ist, sollte durch den speziellen Anwendungsfall ersetzt werden um individuelle Programme und Jobskripte erstellen zu können. Es wird zwischen CPU und GPU Berechnungen unterschieden. Dabei geht es um die Angabe der Zeile, inder die Grafikkartennutzung an das System angefordert wird (zB. #SBATCH --gres=gpu:1).

Achtung: Grafikkarten nur benutzen, falls nötig ! Eine fehlende Aufforderung an eine Grafikkarteim System führt zu einer Standardnutzung ohne Grafikkarte (CPU Rechnung)

Hinweis: Hilfsdateien und Beispielbatchskripte unter dem Verzeichnis. Von dort sind die Softwarebeispiele und aktuellen Vorlagen zu entnehmen.

/help/...

Demonstration GPU Berechnung

#!/bin/bash
#
#SBATCH --job-name={JOBNAME}
#SBATCH --output={OUTPUTNAME}.txt
#
#SBATCH --mail-type=END,FAIL
#SBATCH --mail-user={UserName}@hs-koblenz.de
#
#SBATCH --time=0-01:00:00
#SBATCH --cpus-per-task=16
#
#SBATCH --gres=gpu:1

module purge

module load CUDA/{VERSION}
module load Anaconda3/{VERSION}

eval "$(conda shell.bash hook)"
conda deactivate
conda activate env_neuralode

python -c "import torch; print(torch.cuda.is_available())"

Demonstration CPU Berechnung

#!/bin/bash
#
#SBATCH --job-name={JOBNAME}
#SBATCH --output={OUTPUTNAME}.txt
#
#SBATCH --mail-type=END,FAIL
#SBATCH --mail-user={UserName}@hs-koblenz.de
#
#SBATCH --time=0-01:00:00
#SBATCH --cpus-per-task=16


srun hostname
srun sleep 60

2. Jobskript ausführen:

Ausführen

Um ein Jobskript nach dem Editieren auszuführen, wird folgender Befehl verwendet:

sbatch  {JOBNAME}

Der Parameter JOBNAME wird durch den Namen der Batchskriptdatei ersetzt. Dies sollte auch in der Batchskriptdatei angepasst werden

3. Jobstatus überwachen:

Beobachten

Um einen Jobstatus nach dem Ausführen zu beobachten, wird folgender Befehl verwendet:

squeue

4. Job abbrechen:

Abbrechen

Um ein Jobskript bei der Ausführung abzubrechen, wird folgender Befehl verwendet:

scancel {JOBID}

5. Zusätzliche Befehle

Um eine Jobkonfiguration im Detail zu analysieren:

scontrol show job {JOBID}

Anzeigen von Informationen über einen vergangenen SLURM Job

sacct  -X

Zusätzliche Befehle(Cluster)

Zeige den Clusterstatus an

sinfo

Zeige detaillierte Informationen über alle Nodes an

scontrol show nodes

Zeige detaillierte Informationen über eine spezielle Node an (mit Angabe des Nodenamens)

scontrol show node {NodeName}

Zeige detaillierte Informationen über die Partitionen an

scontrol show partitions

Hinweis: Hilfestellungen zu SLURM Befehlen und weitere Informationen sind aus dem "/help/..." Verzeichnis zu entnehmen.