NERSCPowering Scientific Discovery Since 1974



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 Edison and Cori.  

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]


  • 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 sbatch .... -N 1 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.

#SBATCH -J test_gamess
#SBATCH -q debug
#SBATCH -t 00:30:00

module load gamess

rungms-xt exam01 24
#SBATCH -J gamessMoreMem
#SBATCH -q debug
#SBATCH -t 00:30:00

module load gamess

rungms-xt exam02 24 12
#SBATCH -J gamessHT
#SBATCH -q debug
#SBATCH -t 00:30:00

module load gamess

rungms-xt exam03 48 48

Using GAMESS on Cori

Do not use the aprun or mpirun commands. Instead, there is a script that you must use. On Cori 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 GAMESS input file and #processors-per-node (optional) 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 (single node on Cori) for the default time limit (30 minutes):

% salloc -N 1 -q debug -t 00:30:00

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

module load gamess
rungms-xt your_input_file 32

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

#SBATCH -J test_gamess
#SBATCH -q debug
#SBATCH -t 00:30:00

module load gamess

rungms-xt your_input_file 32

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

% sbatch

GAMESS Resource Usage: Disk and Memory

The rungms-xt script usually create a new GAMESS temporary directory and files in your $SCRATCH (on Edison and Cori) directory for each run. This directory will be named $SCRATCH/gms/$SLURM_JOB_ID. 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 Edison, and 1-8 on Cori. Note that your repository will be charged for the full number of cores you are allocated, even if you use fewer.

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


This is a modern graphics program for plotting 3-D molecular structures and normal modes (vibrations). This program can be installed on your local computer. 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).

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.

Analytic Gradient CFP CFP CFP CFP CFP
Numerical Hessian CFP CFP CFP CFP CFP
Analytic Hessian CFP CFP - CFP -
CI Gradient CD - - - -
MP2 Gradient CFP - CD - -
CC Energy CD - - - -
DFT Energy CFP CFP CFP - -
DFT Gradient CFP CFP CFP - -


PackagePlatformCategoryVersionModuleInstall DateDate Made Default
gamess cori other/ general 11NOV2017R3 gamess/11NOV2017R3 2018-01-23
gamess cori other/ general 18AUG2016R1 gamess/18AUG2016R1 2017-05-01 2017-05-01
gamess cori other/ general NOV2015R1 gamess/NOV2015R1 2015-11-24
gamess edison other/ general 18AUG2016R1 gamess/18AUG2016R1 2017-10-18 2017-10-18
gamess edison other/ general 30SEP2018R3 gamess/30SEP2018R3 2019-03-20