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:51] 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 541: | Zeile 549: | ||
#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> |
You can find further information with ''man sbatch''. Any parameters found there can also instead be included in the jobscript with ''#SBATCH''. | You can find further information with ''man sbatch''. Any parameters found there can also instead be included in the jobscript with ''#SBATCH''. |