Inhalt des Dokuments
Parallele Jobs auf einem Knoten
Software kann oft von den Multicore-Fähigkeiten moderner CPUs profitieren, z.B. über Programmierschnittstellen wie OpenMP. Im Batchsystem wird der Zugriff auf mehr als einen Core über "parallel environments (PE)" realisiert. Beispiel:
1 #!/bin/bash --login
2 #$ -cwd
3 #$ -N mptest
4 #$ -o mptest.out
5 #$ -j y
6 #$ -pe mp 4
7 #$ -m abe
8 #$ -M meine.mail@adresse
9 ./meinparallelesprogrammdas4coresbenutzt
In Zeile 6 wird hier mittels -pe mp 4 das PE für lokale Multicore-Jobs auf einem Rechner ausgewählt, und vier Cores angefordert. Die Anzahl der Cores kann dabei variabel angegeben werden:
1 #!//bin/bash --login
2 #$ -cwd
3 #$ -N mptest
4 #$ -o mptest.out
5 #$ -j y
6 #$ -pe mp 2-8
7 #$ -m abe
8 #$ -M meine.mail@adresse
9 ./meinparallelesprogrammdasverschiedenvielecoresbenutzt --threads $NSLOTS
Hier werden zwischen 2 und 8 Cores angefordert. Die tatsächlich vom Batchsystem zur Verfügung gestellte Anzahl wird in der Variable NSLOTS im Jobscript sichtbar gemacht, und kann dann an die eigentliche Software durchgereicht werden.