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.