GAMESS

From bwHPC Wiki
Jump to: navigation, search
Description Content
module load chem/gamess
Availability BwForCluster_JUSTUS_2
License Source-available freeware, distributed at no cost to academic and industrial users. More...
Citing Publications
Links Homepage | Documentation
Graphical Interface No

1 Description

GAMESS (US) (General Atomic and Molecular Electronic Structure System (US)) is a general ab initio quantum chemistry package. The code base of GAMESS (US) is maintained by the members of the Gordon research group at Iowa State University. A brief overview about abilities and features of the computational chemistry program can be found at Summary of GAMESS' Capabilities.

2 Availability

GAMESS is available on selected bwHPC-Clusters. A complete list of versions currently installed on the bwHPC-Clusters can be obtained from the Cluster Information System (CIS).

In order to check which versions of GAMESS are installed on the compute cluster, run the following command:

$ module avail chem/gamess

3 License

A site license for GAMESS is available at no cost to both academic and industrial users. Please note the distinction between "a site license at no cost" and terms such as "public domain" or "open source". The license acknowledges the Gordon group's exclusive distribution rights to GAMESS and also prohibits you from making copies of the GAMESS code for any purpose except use at your institution. When using the GAMESS code you fully agree to the conditions listed in the license agreement.

4 Usage

4.1 Loading the module

You can load the default version of GAMESS with the following command:

$ module load chem/gamess

The module will try to load all modules it needs to function (e.g., compiler, mpi, ...). If loading the module fails, check if you have already loaded one of those modules, but not in the version required by GAMESS.

If you wish to load another (older) version of GAMESS, you can do so using

$ module load chem/gamess/<version>

with <version> specifying the desired version.

Please cite GAMESS in your publications according to the references.

4.2 Program Binaries

The binary gamess.00.x is the computational chemistry program containing all common GAMESS tools. It is located in the directory $GAMESS_HOME of the GAMESS installation. The binary is usually called from inside of a wrapper (shell script).

4.3 Wrapper

GAMESS should be called though a wrapper. A wrapper named rungms-dev has been adapted for bwHPC-Clusters and is located in the directory $GAMESS_HOME. By using rungms-dev, up to four parameters have to be specified, as shown in the example

$ rungms-dev <job-input> <installation> <ncores> <cores-per-node>

where <job-input> is the name of the input file, <installation> is the installation number of the GAMESS executable (use 00), <ncores> is the total number of cores to use for the run, and <cores-per-node> is the number of cores to use on each node. For a serial job on JUSTUS 2 it would be sufficient to use the command:

$ rungms-dev <job-input> 00 1

We highly recommend using this wrapper when submitting your simulations to the cluster queuing system. It is also possible to copy and further modify the wrapper for special desires. If any assistance is required for this task, please feel free to contact 'compchem [at] bwhpc.de' or submit a trouble ticket at https://www.bwhpc.de/supportportal. Furthermore, an unadapted and more complex wrapper called rungms is also available in $GAMESS_HOME.

4.4 Hints for using GAMESS

4.4.1 Input Files

For information about how to construct input files for GAMESS, please consult the documentation.

4.4.2 Disk Usage

It is recommended to use a dedicated workspace for your simulations with GAMESS. The wrapper takes care of all temporary files. By default, the $TMPDIR/$SLURM_JOBID directory is used to store temporary files. Please be aware of that the wrapper automatically creates a folder called 'restart' in your $HOME directory. It is used to store snapshots of intermediate results to restart failed simulations.

4.4.3 Parallel Execution

The MPI implementation of GAMESS creates a data server process for each compute process. Thus the number of cores available for compute processes is halved. The wrapper handles this if the cores-per-node argument is not available. If the cores-per-node argument is specified, it cannot be bigger than half of the total number of cores.

5 Examples

As with all processes that require more than a few minutes to run, non-trivial compute jobs must be submitted to the cluster queuing system.

Example scripts are available in the directory $GAMESS_EXA_DIR:

$ module show chem/gamess                # show environment variables, which will be available after 'module load'
$ module load chem/gamess                # load module
$ ls $GAMESS_EXA_DIR                     # show content of directory $GAMESS_EXA_DIR
$ cat $GAMESS_EXA_DIR/README             # show examples README

Run several example jobs on JUSTUS 2:

$ module load chem/gamess                           # load module
$ WORKSPACE=`ws_allocate gamess 3`                  # allocate workspace
$ cd $WORKSPACE                                     # change to workspace
$ cp -a $GAMESS_HOME/bwhpc-examples .               # copy example files to workspace
$ cd bwhpc-examples                                 # change to test directory
$ sbatch gamess-2020.2.slurm                        # submit job
$ squeue                                            # obtain JOBID
$ scontrol show job <JOBID>                         # check state of job
$ ls                                                # when job finishes the results will be visible in this directory

6 Useful links