The HECToR Service is now closed and has been superceded by ARCHER.

GAMESS-US

Useful Links

Access

GAMESS is licensed software. See GAMESS License Agreement

All HECToR users have access to the GAMESS binaries. If you would like access to the HECToR-specific GAMESS source code then please (contact the HECToR Helpdesk).

Running

To run GAMESS you need to add the correct module. The current build of GAMESS on HECToR is dated 1/10/2010:

module add gamess-us

will give you access to the GAMESS binary and the rungms script that is needed to run the job.

Note: The rungms script has been modified from the standard one to enable efficient running on the Cray architecture. The script depends on the $GAMESS_HOME (location of the bin/ and common/ directories) and the $SCRATCH environment variable being set before the script is called. The $GAMESS_HOME variable is set by the module but you must specify the $SCRATCH variable in your job submission script to point to a directory on the /work filesystem that you have write access to (an example of how to do this is shown below in the example job submission script).

Note: You must use less than 32 cores per node for GAMESS to function correctly. We recommend using 16 cores per node on HECToR phase 3 (see example job submission script below).

An example GAMESS job submission script is shown below.

#!/bin/bash --login
#PBS -N gamess_job
#PBS -V
#PBS -l mppwidth=1024
#PBS -l mppnppn=32
#PBS -l walltime=03:00:00
# Change this to your account code
#PBS -A z01

# Move to directory that script was submitted from
export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR)
cd $PBS_O_WORKDIR

module add gamess-us

# Set the number of threads to 1
#   This prevents any system libraries from automatically 
#   using threading.
export OMP_NUM_THREADS=1

# This should be done for performance
export ONESIDED_USE_BLOCKING_WAITS=1

# You must set the SCRATCH environment variable for the job to run
export SCRATCH=$PBS_O_WORKDIR/scratch

# "rungms" takes five options
#     1) The name of your input file (without ".inp")
#     2) The type of binary (use "asis" on HECToR)
#     3) The number of cores in total
#     4) The number of cores per node (must be less than 32, we recommend using 16 cores per node)
#     5) The number of cores per NUMA region (if using 16 cores per node, this would be 4)
rungms my_job asis 512 16 4

If you wish to keep the files in $SCRATCH when your job completes (for debugging or to use to continue runs) you should substitute the rungms script for rungms-keepscr.

Compilation