Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
hlr:phoenix:nutzeranleitung [2020/11/30 18:50] tarkhell [Jobfile] |
hlr:phoenix:nutzeranleitung [2021/12/16 11:00] matfranz [Jobfile] |
||
---|---|---|---|
Zeile 70: | Zeile 70: | ||
</code> | </code> | ||
- | Ein Beispiel für ein Jobfile für einen GPU-Knoten sieht wie folgt aus: | + | Es gibt insgesamt acht GPU-Konten mit jeweils vier Grafikkarten. Für diese gibt es drei verschiedene GPU queues mit verschiedenen Workloads: |
+ | Â | ||
+ | <code>Â | ||
+ | gpu01_queue: 2 GPU-Knoten, hohe Priorität; nur für Jobs, die alle vier GPUs eines Knotens allozieren; maximal ein Job pro User; Walltime: 3 Tage | ||
+ | gpu02_queue: 6 GPU-Knoten, hohe Priorität; auch für Jobs, die nur einzelne GPUs allozieren; maximal zwei Jobs pro User; Walltime: 7 Tage | ||
+ | gpu03_queue: 8 GPU-Knoten, niedrige Priorität; auch für Jobs, die nur einzelne GPUs allozieren; Anzahl der Jobs pro User unbegrenzt; Walltime: 7 Tage; Jobs können unterbrochen werden, daher Checkpoints im Code verwenden | ||
+ | </code>Â | ||
+ | Â | ||
+ | Ein Beispiel für ein Jobfile für einen der GPU-Knoten sieht wie folgt aus: | ||
<code> | <code> | ||
#!/bin/bash -l | #!/bin/bash -l | ||
- | #SBATCH --partition=gpu | + | #SBATCH --partition=gpu02_queue |
#SBATCH --nodes=2 | #SBATCH --nodes=2 | ||
#SBATCH --time=2-00:00:00 | #SBATCH --time=2-00:00:00 | ||
- | #SBATCH --job-name=TrainDenoiseModel | + | #SBATCH --job-name=GPUExample |
#SBATCH --ntasks-per-node=4 | #SBATCH --ntasks-per-node=4 | ||
#SBATCH --gres=gpu:4 | #SBATCH --gres=gpu:4 | ||
~/anaconda3/bin/python "/path/to/file/example.py" | ~/anaconda3/bin/python "/path/to/file/example.py" | ||
- | </code | + | </code> |
Weitere Informationen bietet auch ''man sbatch''. Sämtliche dort verwendeten Parameter können auch im Jobscript selber mit ''#SBATCH'' angeben werden. | Weitere Informationen bietet auch ''man sbatch''. Sämtliche dort verwendeten Parameter können auch im Jobscript selber mit ''#SBATCH'' angeben werden. | ||
Zeile 531: | Zeile 539: | ||
--begin=now+60 (seconds by default) | --begin=now+60 (seconds by default) | ||
--begin=2010-01-20T12:34:00 | --begin=2010-01-20T12:34:00 | ||
+ | </code> | ||
+ | |||
+ | In the following you can find an example for a jobfile for a GPU-node: | ||
+ | |||
+ | <code> | ||
+ | #!/bin/bash -l | ||
+ | |||
+ | #SBATCH --partition=gpu | ||
+ | #SBATCH --nodes=2 | ||
+ | #SBATCH --time=2-00:00:00 | ||
+ | #SBATCH --job-name=GPUExample | ||
+ | #SBATCH --ntasks-per-node=4 | ||
+ | #SBATCH --gres=gpu:4 | ||
+ | |||
+ | ~/anaconda3/bin/python "/path/to/file/example.py" | ||
</code> | </code> | ||