NERSCPowering Scientific Discovery Since 1974

GAMESS

Description

GAMESS (General Atomic and Molecular Electronic Structure System) is a general ab initio quantum chemistry package from the Gordon research group at Iowa State University.  GAMESS is available at NERSC on Carve and Hopper.  Some of the earlier Hopper versions were provided by Cray and were optimized for the Cray XE6 architecture to use one-sided communication that takes advantage of features in the Cray Gemini interconnect.  The more recent Hopper versions use the 'cray-xt' source build from Iowa State.  The Carver installations are done by NERSC and use socket communication.

Accessing GAMESS

NERSC uses modules to manage access to software. To use the default version of GAMESS, type:

% module load gamess

You can also include this command in a script that runs a GAMESS job. Note that various versions of GAMESS may exist on a machine and where this is true, one version will be designated as the default. To see which versions exist:

% module avail gamess

To load a specific version of GAMESS use the entire modulefile name; for example:

% module load gamess/25Mar2010R2

Using GAMESS on Edison

Do not use the aprun or mpirun commands. Instead, there is a script that you must use. On Edison the script is rungms-xt and this script must be run as follows.  Note that this is non-standard GAMESS syntax (i.e., the version is eliminated). 

rungms-xt input processors [processors-per-node]

where

  • input is the name of your input file WITHOUT the '.inp' suffix, 
  • processors is the number of Edison cores to use, and
  • optional argument processors-per-node is the number of Edison cores to use per Edison node.  

Use the optional argument if, because of memory considerations, you want to use fewer than 24 cores per Edison node.  Don't forget to adjust your batch script to request more nodes in your batch submission in this case and remember that your allocation will be charged for all processors that your job is allocated.

Note: if you want to use hyperthreading, set both 'processors' and 'processors-per-node' to 48 and request just a single Edison node in your batch submission.  Some GAMESS problems run faster using hyperthreading.  

Hyperthreading example:
Use qsub .... -l mppwidth=24 and rungms-xt water 48 48

Here are three sample scripts to run GAMESS on Edison, showing simple execution with all cores on one node, memory-conserved execution with two nodes and only one-half the cores active, and a hyperthreading example.  Note that you can use GAMESS in an interactive batch session, too.

#PBS -N test_gamess
#PBS -q debug
#PBS -l mppwidth=24
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load gamess

rungms-xt exam01 24
#PBS -N gamessMoreMem
#PBS -q debug
#PBS -l mppwidth=48
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load gamess

rungms-xt exam02 24 12
#PBS -N gamessHT
#PBS -q debug
#PBS -l mppwidth=24
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load gamess

rungms-xt exam03 48 48

Using GAMESS on Hopper

Do not use the aprun or mpirun commands. Instead, there is a script that you must use. On Hopper the script is rungms-xt and this script must be run as follows.  Note that this is non-standard GAMESS syntax (i.e., the version is eliminated).

% rungms [your_input_file]  [#cores]

where your_input_file is the name of your GAMESS input file and #cores is the number of cores to use. Your input file should exist in the form "xxx.inp", but when using the rungms-xt script give the name of the input file without ".inp".

On all NERSC systems GAMESS must be run on the compute nodes, not on the login nodes. You can run either interactively (but with a half-hour time limit) or via batch submission.

To run interactively first request an interactive batch session by issuing a command such as the following one that requests 32 cores for the default time limit (30 minutes):

% qsub -I -V -q interactive -l mppwidth=32

When a new batch session is returned to you, type commands similar to the following: 

cd $PBS_O_WORKDIR
module load gamess
rungms-xt your_intput_file 32

To run GAMESS in batch mode use a script similar to the following:

#PBS -N test_gamess
#PBS -q debug
#PBS -l mppwidth=32
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load gamess

rungms-xt your_input_file 32

If those commands are in a file called "test_gamess.pbs" then submit the job script using qsub command.

% qsub test_gamess.pbs

Using GAMESS on Carver

On Carver the GAMESS script is rungms and this script must be run as

% rungms [your_input_file] [#cores]

To run interactively first request an interactive batch session by issuing a command such as the following one.  THIS IS JUST AN EXAMPLE that requests 32 cores on four nodes for the default time limit (30 minutes):

% qsub -I -V -q interactive -l nodes=4:ppn=8

When a new batch session is returned to you, type commands similar to the following: 

cd $PBS_O_WORKDIR
module load gamess
rungms your_intput_file 32

To run GAMESS in batch mode use a script similar to the following:

#PBS -N test_gamess
#PBS -q debug
#PBS -l nodes=4:ppn=8
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load gamess

rungms your_input_file 32

If those commands are in a file called "test_gamess.pbs" then submit the job script using qsub command.

% qsub test_gamess.pbs

GAMESS Resource Usage: Disk and Memory

The rungms and rungms-xt scripts usually create new GAMESS temporary directories and files in your $SCRATCH (on Hopper) or $GSCRATCH (on Carver) directory for each run. These directories will be named $SCRATCH/gms/$PBS_JOBID or $GSCRATCH/gms/$PBS_JOBID. Although the scripts attempt to remove the temporary files (upon successful job completion) you should check these directories periodically and remove them because they will consume disk space counted against your quota. For conventional algorithms, the disk space required will grow very rapidly with the size of the system. (For these cases it would be better to use the integral-direct algorithm.)

GAMESS can consume a lot of memory, sometimes more than that available on a per-core basis. One way around this problem is to run with fewer cores per node than the hardware contains, i.e., 1-6 on Hopper, and 1-4 on Carver. Note that your repository will be charged for the full number of cores you are allocated, even if you use fewer.

To run with fewer cores per node Carver, submit your job with the value of the PBS ppn parameter lower than eight but requesting enough nodes to get the full number of cores you need. Then run the rungms script with the number of cores you want. An example follows for a Carver job using 16 cores but on four nodes rather than two.

PBS -N gamess2MuchMem
#PBS -q debug
#PBS -l nodes=4:ppn=4
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load gamess

rungms your_input_file 16

Documentation

The GAMESS Home Page contains an up-to-date resource for tutorials, documentation, and discussion groups.

MacMolPlt

This is a modern graphics program for plotting 3-D molecular structures and normal modes (vibrations). Although it's very easy to install this program on your local Macintosh computer we also have it installed at NERSC on Euclid (only). The program reads a variety of file formats including any GAMESS input, log or IRC file directly to create animations of IRC's, DRC's, and optimizations. You can also import a $VEC group from any file (such as a GAMESS .DAT file).

To use MacMolPlt on Euclid type 'module load macmolplt" and then type the executable name, wxmacmolplt.  Note that you need to be in an X-Windows environment.

Full information about MacMolPlt is available on the MacMolPlt web site at Ames Lab.

Electronic Structure Methods Available

The following table shows the options available for each calculation and scf type. The key is as follows: C indicates "conventional" (disk-based) integral storage; D indicates direct-integral method; P indicates parallel operation.

METHOD or SCFTYPERHFROHFUHFGVBMCSCF
Energy CFP CFP CFP CFP CFP
Analytic Gradient CFP CFP CFP CFP CFP
Numerical Hessian CFP CFP CFP CFP CFP
Analytic Hessian CFP CFP - CFP -
CI Energy CFP CFP - CFP CFP
CI Gradient CD - - - -
MP2 Energy CFP CFP CFP - CP
MP2 Gradient CFP - CD - -
CC Energy CD - - - -
DFT Energy CFP CFP CFP - -
DFT Gradient CFP CFP CFP - -

Availability

PackagePlatformCategoryVersionModuleInstall DateDate Made Default
gamess carver applications/ chemistry 18Aug2011R1 gamess/18Aug2011R1 2012-03-09 2012-03-09
gamess carver applications/ chemistry 1May2013R1 gamess/1May2013R1 2013-11-20
gamess carver applications/ chemistry 24Mar2007R6 gamess/24Mar2007R6 2010-05-12 2012-02-09
gamess carver applications/ chemistry 25Mar2010R2 gamess/25Mar2010R2 2011-02-09 2011-02-09
GAMESS edison applications/ chemistry 1May2013R1 gamess/1May2013R1 2014-02-20
GAMESS hopper applications/ chemistry 1May2012R1 gamess/1May2012R1 2012-11-20 2014-02-20
gamess hopper applications/ chemistry 1OCT2010R1 gamess/10OCT2010R1 2011-03-09 2011-03-09