![]()
GAMS, das "General Algebraic Modeling System", ist ein System für mathematische Programmierung und Optimierung. Es enthält einen sogenannten Sprachencompiler und viele integrieten Hochleistungslöser. GAMS ist für komplexe und große Simulationsanwendungen geeignet und erlaubt das Bauen von großen wartungsleichten Modellen, die für neue Situationen leicht adaptiert werden können.
GAMS Hauptseite: http://www.gams.com
Auf Orac bekommt man Zugriff auf die GAMS-Anwendungen durch das Modul-System:
$ module load gams
Um einen 4-CPU-Job im RRZN-Clusterbatchsystem laufen zu lassen kann man den folgenden Batchskript-Muster benutzen:
#!/bin/ksh
#PBS -S /bin/ksh
#PBS -o output.log
#PBS -j oe
#PBS -l nodes=1:ppn=4,walltime=100:00:00
#PBS -q <queuename>
#PBS -M <emailadresse>
#PBS -m abe
cd $PBS_O_WORKDIR
source /usr/share/Modules/init/`basename $SHELL`
module load gams/227
gams Datei.gms
Dies startet einen Job auf einem Knoten (nodes=1) und anfordert 4 Prozessoren pro Knoten (ppn=4).
Wenn man einen Löser wie CPLEX für GAMS im parallelen Betrieb benutzt, sollte man darauf passen, dass der Löser tatsächlich die erwartete Anzahl an CPUs belegt. Dies kann man testweise auf Orac überprüfen wenn man das Programm laufen lässt und die Auslastung des Rechners anschaut mit dem "top"-Kommando. Mann muss aufpassen, dass in der GAMS-Datei die gewünschte Anzahl an Threads angegeben ist, und dass die GAMS-Datei an der CPLEX-Steuerungsdatei verlinkt ist. Ansonsten benutzt CPLEX per default nur einen Thread und so wird das Programm nur seriell aufgeführt (benutzt nur eine CPU).
Leibniz Universität IT Services - URL: www.rrzn.uni-hannover.de/gams.html
Dr Paul Cochrane, Letzte Änderung: 26.03.2009
Copyright Gottfried Wilhelm Leibniz Universität Hannover