Gaussian
Achtung: Diese Dokumentation wird überarbeitet! Es wird empfohlen, die neue Arbeitsumgebung zu verwenden. In dieser lädt man das Modul g09/d01, welches automatisch GAUSS_SCRDIR auf $TMPDIR (siehe Dateisysteme) setzt, um möglichst oft mit der lokalen Festplatte der Knoten zu rechen und das Ausbremsen des Clusters durch exzessive Zugriffe auf /G/scratch oder gar /G/home zu vermeiden. Ein Batch-Skript sollte sich an dieser Vorlage orientieren:
#!/bin/bash #PBS -l nodes=1:ppn=8:mem16 #PBS -q c8 # Modules-Umgebung . /G/home/rrz/lib/modules.sh # RRZ-Arbeitsumgebung inkl. $TMPDIR module load rrz/environment # Gaussian, mit GAUSS_SCRDIR=$TMPDIR module load g09/d01 echo "Gaussian scratch: $GAUSS_SCRDIR" >&2 # Kann gleich $PBS_O_WORKDIR sein, aber auch lokale Kopie cd $RRZ_WORKDIR g09 < input.com > gaussian.log
Linda ist auf dem Cluster nicht installiert, daher sind GAUSS_LFLAGS etc. hinfällig. Man sollte beachten, dass Gaussian auch wirklich so eingestellt wird, dass es den Speicher des Knotens auch nutzt (Einstellung auf 14 GiB sollte sicher sein).
Alte Dokumentation:
Auf dem Linux-Cluster ist Gaussian09 Rev.D.01 im Pfad:
/G/home/software/g09 installiert.
Bitte nehmen Sie folgende Zeilen in die Datei .profile auf:
g09root=/G/home/software
GAUSS_SCRDIR=/G/scratch/$USER
export g09root GAUSS_SCRDIR
. $g09root/g09/bsd/g09.profile
Gute Skalierbarkeit erreicht man bei Gaussian bei bis zu 8 Prozessoren.
Für einen Gaussian-Job setzt am Besten die Queue c8 oder d8 ein.
Im Inputfile müsste entsprechend der Anzahl von Prozessoren die Anweisung: %NProcShared (dasselbe wie %nproc) für die Anzahl der Cores auf einem Knoten angepasst werden. Für einem c8/d8 Job müsste also %NProcShared=8 gesetzt werden.
Da Scratch-Dateien bei Gaussian sehr groß ausfallen können, ist es wichtig, dass Scratch nach dem Joblauf gereinigt wird. Bitte fügen Sie in die Inputdatei die Anweisung %nosave ein, damit temporäre Dateien nach dem Ende der Berechnung gelöscht werden.
Wenn Scratch-Dateien nicht größer als 105 GB ausfallen sollten, können Sie auch das lokale Scratch-Verzeichnis auf dem jew. Rechenknoten benutzen. Setzen Sie dafür bitte die Variable GAUSS_SCRDIR auf /work/$USER. Den Inhalt können Sie nach dem Joblauf löschen, vgl. Beispieldatei für einen 16 GB-Knoten:
##############################
#PBS -l nodes=1:ppn=8:mem16
#PBS -j oe
#PBS -q c8
#PBS -V
cd ~/XY
cp $PBS_NODEFILE hostfile.pbs
GAUSS_LFLAGS=$(cat hostfile.pbs)
export GAUSS_LFLAGS="-nodelist \"-nodelist \"GAUSS_LFLAGS\""
g09 < XY.gjf > XY.log
rm ${GAUSS_SCRDIR}/* # nur wenn GAUSS_SCRDIR=/work/$USER ist