Trainings Cluster
Translations: enIm Kurs nutzen wir das Training Cluster, das ähnlich aufgebaut ist wie das Vulcan Cluster des HLRS. Hier haben wir eine kleine Zusammenstellung unserer Arbeitsumgebung gesammelt.
Module
Die Programme sind mit einem MPI Modul kompiliert, das wir auch immer laden, um die passende Umgebung zur Verfügung haben:
module load mpi/openmpi
Zudem brauchen wir für manche Skripte Python, das ebenfalls über eine Modul zur Verfügung steht:
module load python
Dateisystem
Auf Vulcan wird ein Workspace Mechanismus genutzt um Rechendaten in temporären Verzeichnissen zu speichern. Einen solchen Workspace muss entsprechend jeder für seine Rechnungen anlegen:
ws_allocate cfd 7
Dieses Kommando legt beispielsweise einen persönlichen Workspace für 7 Tage an. Die Liste aller eigenen Workspaces kann man sich mit ws_list anzeigen lassen.
Die Dateien für den Kurs finden sich in /shared/akad-cfd-s/. In den Folien verwenden wir für diesen Pfad die Variable $KURS, es ist deshalb sinnvoll diese Variable im eigenen Profil zu definieren:
echo 'export KURS=/shared/akad-cfd-s' >> $HOME/.bash_profile
Für den eigenen, angelegten Workspace verwenden wir die Variable $MYWS, entsprechend ist es hilfreich auch diese Variable im Profil zu definieren. Insgesamt lässt sich das Vorgehen zum Anlegen des Workspaces so beschreiben:
MYWS=`ws_allocate cfd 7` echo "export MYWS=$MYWS" >> $HOME/.bash_profile
Queueing
Details zum Queueing System auf Vulcan finden sich im HLRS Wiki.
Auf dem Trainingscluster müssen wir uns die Knoten teilen und das Layout entsprechend im Job konfigurieren, sowie über die smp queue submittieren. Dies wird über PBS Zeilen im Job Skript eingestellt:
#PBS -l select=1:node_type=skl:ncpus=8:mpiprocs=8:mem=20gb #PBS -q smp
Ein Skript (namens job.pbs zum Beispiel) wird dann, beispielsweise mit folgendem Befehl gestartet:
qsub job.pbs
in das Batchsysem ein. Bei Rechnungen die, über Nacht laufen sollen, verwenden die allgemeine Queue, ohne Reservierung.
Interaktive Jobs lassen sich mit Hilfe folgendes Befehls innerhalb der Reservierung erstellen:
qsub -q smp -I -l select=1:node_type=skl:ncpus=8:mpiprocs=8:mem=20gb,walltime=02:00:00