CHPC Software: Gaussian 03

Gaussian 03 is an older version of the Gaussian quantum chemistry package; it has been replaced by Gaussian09.

Current revision E.01.

  • Machines: Arches clusters, updraft
  • Location of latest revision:
    • arches: /uufs/chpc.utah.edu/sys/pkg/gaussian03/E.01
    • updraft: /uufs/chpc.utah.edu/sys/pkg/gaussian03/E.01-EMT64

Please direct questions regarding Gaussian to the Gaussian developers. The home page for Gaussian is http://www.gaussian.com/. A user's guide and a programmer's reference manual are available from Gaussian and the user's guide is also available online at the Gaussian web site.

IMPORTANT NOTE: The licensing agreement with Gaussian allows for the use of this program ONLY for academic research purposes. NO commercial development or application in software being developed for commercial release is permitted. NO use of this program to compare the performance of Gaussian 03 with their competitors' products (i.e. Q-Chem, Schrodinger, etc) is allowed. The source code cannot be used or accessed by any individual involved in the development of computational algorithms that may compete with those of Gaussian Inc. If you have any questions concerning this, please contact Anita M. Orendt at orendt@chpc.utah.edu.

Parallel Gaussian:

The general rule is that SCF/DFT/MP2 energies and optimizations as well as SCF/DFT frequencies scale well when run on multiple nodes. In the case of DFT jobs, once there are more than 60 unique, non-symmetry related atoms, the default algorithm that is used (FMM - Fast Multiple Method) does not run parallel. In this case you can either run on one node or use Int=FMMNAtoms=n to turn off the use of the FMM, where n is the number of atoms.

For all other types of jobs you will want to only use one node to make efficient usage of your allocation. To run non-restartable jobs that will take longer than the queue time limits on tunnelarch, you can request access to the long queue on a case by case basis in order to be able to complete these jobs.

As always, when running a new type of job, it is best that you first test the parallel nature of the runs by running a test job on both 1 and 2 nodes and looking for the timing differences before submitting a job that uses 4, 8 or even more nodes. The timing differences are easiest to see if you use the p printing option (replace the # at the beginning of the keyword line in the input file with a #p)

To Use:

PBS Script

For updraft, there is an build of G03 that is optimized for use on the Intel processors. Therefore if you are running on updraft it is important that you get the new PBS script below and also that you use add the keyword cachesize=131072 to your input file - otherwise the job will not run efficiently.

Please note that it is important that you use scratch space for file storage during the job. The files created by the program are very large.

The memory limits present in G98 are, for the most part, no longer an issues in G03. When determining a value for the %mem variable, please allow at least 64 MB of the total available memory on the nodes you will be using for the operating system. Otherwise, your job will have problems, possibly die, and in some cases cause the node to go down. Memory usage should be limited to %mem = 1gb on delicatearch and marchingmen and 2gb on tunnelarch.

There are two levels of parallelization in Gaussian: shared memory and distributed. As all of our compute nodes now have either two or four processors per node, you will ALWAYS set %nprocs to either 2 or 4, respectively. This number should agree with the ppn value set in the PBS -l line in the batch script. If you are running on multiple nodes, you must also set %nprocl to the number of nodes specified in the PBS -l line. The options you have are summarized below:

  1. 1 Dual processor run (ppn=2 in PBS script; %nprocs=2 in G03 input file; no need for %nprocl)
  2. N Dual processor run (ppn=2 in PBS script; %nprocs=2 AND %nprocl=N in G03 input file)
  3. 1 Quad processor run (ppn=4 in PBS script; %nprocs=4 in G03 input file; no need for %nprocl)
  4. N Quad processor run (ppn=4 in PBS script;%nprocs=4 AND %nprocl=N in G03 input file)

The .tsnet.config link used with G98 is no longer necessary with G03.

In order for to successfully run G03 jobs you need to to be using the gaussian03 environmental variables as set in the .tcshrc script provided by CHPC. Therefore you must have this file in your home directory. You will need this even if your normal shell is bash, as Gaussian requires a csh to run.

The chpc.tcshrc is available at: Arches User Guide

The PBS script for ARCHES only may be obtained here: g03_arches.script

The PBS script for ARCHES and UPDRAFT may be obtained here: g03_arches_updraft.script

Please read the comments in the script to learn the settings and make sure settings of these variables agree with settings in the % section of the com file and in the PBS directives in the PBS script.

setenv WORKDIR $HOME/g03project	      <-- enter the path to location of the input file FILENAME.com
setenv FILENAME freq5k_3              <-- enter the filename, leaving off the .com extension
setenv SCRFLAG PARALLEL               <-- either TMP, PARALLEL, or SERIAL
setenv NODES 1                        <-- enter the number of nodes requested

Example of parallel scaling using G03

The job is a DFT (B3PW91) opt job with 650 basis functions taking 8 optimization cycles to converge.

Number of Nodes Number of Processors Complete job wall
Updraft
Dual quad core
2800 MHz
1 8 5.75 hrs
2 16 3 hrs
4 32 2 hrs
8 64 1 hr
Sanddunearch
Dual dual core
2400 MHz
1 4 23.25 hrs
2 8 12 hrs
4 16 6.25 hrs
8 32 4 hrs
16 64 3 hrs
Opteron
Dual
1400 MHz
4 8 22.5 hrs
8 16 11.6 hrs
16 32 6.5 hrs

The DFT frequency of the above case:

Number of Nodes Complete wall time
Updraft
Dual quad core
2800 MHz
1 5.5 hrs
2 3 hrs
4 1.75 hrs
8 1 hr
Sanddunearch
Dual dual core
2400 MHz
1 20.25 hrs
2 11 hrs
4 6 hrs
8 4.25 hrs
16 3.25 hrs
Opteron
Dual 1400 MHz
1 50 hrs
2 26 hrs
4 14 hrs
Last Modified: October 26, 2009 @ 09:51:25