Biowulf at the NIH
Gauss on Biowulf

gaussThe GAUSS Mathematical and Statistical System is a fast matrix programming language widely used by scientists, engineers, statisticians, biometricians, econometricians, and financial analysts. Designed for computationally intensive tasks, the GAUSS system is ideally suited for the researcher who does not have the time required to develop programs in C or FORTRAN but finds that most statistical or mathematical "packages" are not flexible or powerful enough to perform complicated analysis or to work on large problems.

The GAUSS executables are not multithreaded or parallel. The advantage of using GAUSS on Biowulf would be to run many GAUSS jobs simultaneously, i.e. a 'swarm' of single-threaded jobs.

Running a single GAUSS batch job

Create a batch input file, e.g. /home/username/gaussrun. Example:

#!/bin/tcsh
#PBS -N gauss
#PBS -m be
#PBS -k oe
#
cd /home/username/gauss
/usr/local/bin/gauss -v -b /home/username/gauss.in > gauss.out

Submit this job using the PBS 'qsub' command. Example:
qsub -v np=1 -l nodes=1 gaussrun

Note that there is no need to ask for more than 1 node, since GAUSS is single-threaded. This job will use only one processor on the node, and leave the remaining processor(s) unused.

Running a swarm of GAUSS jobs

The swarm program is designed to submit a group of commands to the Biowulf cluster. Each command is represented by a single line in the swarm command file that you creare, and runs as a separate batch job. See the swarm page for more information.

Create a swarm command file, say, cmdfile, with each line containing a single gauss run. Example:

/usr/local/bin/gauss -v -b /home/username/gauss1.in > gauss1.out
/usr/local/bin/gauss -v -b /home/username/gauss2.in > gauss2.out
/usr/local/bin/gauss -v -b /home/username/gauss3.in > gauss3.out
/usr/local/bin/gauss -v -b /home/username/gauss4.in > gauss4.out
/usr/local/bin/gauss -v -b /home/username/gauss5.in > gauss5.out
Submit this to the batch system with the command:
swarm -f cmdfile
Running GAUSS interactively

Typing 'gauss' at the Biowulf prompt will bring up the GAUSS Xwindows interface. You can then type any GAUSS command into the window. Since this process will run on the Biowulf head node which is shared by many users, This should only be used for testing, or for small development tasks. All other Gauss jobs should be run via batch, as above.

If you really want to run interactively, you can allocate a node for interactive use. Once the node is allocated, you can type commands directly on the command-line. Example:

biowulf% qsub -I -l nodes=1
qsub: waiting for job 2011.biobos to start
qsub: job 2011.biobos ready

p139$ gauss -v -b /home/username/gauss.in > gauss.out
p139$ exit
logout

qsub: job 2011.biobos completed
biobos$ 
To run the Xwindows interface on an interactive node, open an Xwindows ssh connection to Biowulf. Allocate an interactive node with
qsub -V -I -l nodes=1

and your Xwindows graphics should be tunnelled through the ssh connection. See the Helix Xwindows page for more information about ssh and Xwindows.

GAUSS Documentation