|
This is an introduction to the usage of the electronic-structure code "Gamess" on the HPCVL SunFire 6800 cluster. It is meant as an initial pointer to more detailed information, and to get started. It does not replace study of
the manual.
Questions:
1. What is Gamess?
2. Where is the program located?
3. How do I set up my account for running Gamess?
4. How do I run Gamess?
5. Where can I get detailed help?
6. Are there any licensing issues?
Answers:
1. What is Gamess?
The "General Atomic and Molecular Electronic Structure System" (GAMESS) is a quantum chemistry software package that was assembled from various older codes (in particular, HONDO) by
M. Dupuis, D. Spangler, and J. J. Wendoloski of the National Resources for Computations in Chemistry (NRCC). The code has undergone great changes since then and is maintained now by the Ameslab at Iowa State University.
Gamess performs a great many of standard quantum chemical calculations. These include:
- RHF, UHF, ROHF, GVB, or MCSCF self-consistent calculations.
- CI or MP2 corrections to the energy.
- Semi-empirical MNDO, AM1, or PM3 methods.
- Analytic energy gradients for SCF, MP2 or CI.
- Geometry optimizations, saddle point searches, and vibrational frequencies.
- Intrinsic reaction paths, gradient extremal curves, and dynmic reaction coordinates.
- Many molecular properties, such as densities, electrostatic potentials, dipole moments, etc.
- Modelling of solvent effects and electric fields.
For a complete list of capabilities of GAMESS, consult this table or download the Gamess documentation.
The present version of Gamess is described in M.W.Schmidt, K.K.Baldridge, J.A.Boatz, S.T.Elbert, M.S.Gordon, J.H.Jensen, S.Koseki, N.Matsunaga, K.A.Nguyen, S.J.Su, T.L.Windus, M.Dupuis, J.A.Montgomery J.Comput.Chem. 14, 1347-1363 (1993).
Back to Top...
2. Where is the program located?
The program resides in /usr/local/gamess and is called gamess.01.x. You also find some test examples in this directory, which are useful to get an idea of the input format for the program. You are not allowed to copy the executable or any
part of the distribution onto your local machine. However you can easily obtain the program yourself. See the GAMESS source code distribution page .
Back to Top...
3. How do I set my account up for running Gamess?
Unlike other programs, no special setup is needed to run Gamess. All environment variables etc. are set with an execution script that will be described in the next section . However, it is necessary to dedicate disk space for temporary
files (scratch space) and for some standard output files (dump files). Unless you want to make changes in the Gamess execution script, we suggest you create
- scratch space (several gigabyte necessary for extended calculations). Type
mkdir /scratch/sfnodex/$(USER)
chmod 700 /scratch/sfnodex/$(USER)
where sfnodex is the name of any node that will be used in your Gamess calculation. The second line ensures that no other users have access to your scratch space.
- a directory for output (wave functions, etc) in your home directory. Type
mkdir $(HOME)/scr
which creates a directory named "scr" in your home directory.
Now you're ready to roll.
Back to Top...
4. How do I run Gamess?
Before you can access the Gamess executables and run the program, you have to
read the license agreement that exists between the Gamess distributors and HPCVL.
You also have to sign a statement that you have done so, and return it to us
(see last section for more information).
To run Gamess on the SunFire 6800 cluster, you have to modify and execute a csh script, which can be downloaded here.
Like most programs, Gamess requires an input file that describes the system (usually a molecule) for which the calculation will be performed, specifies the level of calculation (eg, CISD), and provides other necessary information (starting orbitals, basis
sets, required properties, etc). The format of the input is considerably more demanding than the one required for Gaussian (another widely used electronic-structure program), and much less information is hidden inside of defaults. This makes Gamess a very
flexible program, but increases the risk of doing something wrong. Careful study of example input files and the documentation is required to run Gamess successfully. This is particularly true for CI or CAS-SCF calculations.
Once an input file is prepared, you will have to make the decision if you want to run Gamess in serial or in parallel mode. Gamess supports the use of multiple processors. However, the scaling (ie, the efficiency of parallel processing) varies with the
type of calculation and the systems. We suggest you perform a small test calculation of the same type as your production calculation (eg, with a minimal basis set), and rerun it several times with a varying number of processors. Compare the timings and
use the maximum number of processors that yield acceptable scaling for your production calculation.
Gamess has to be run via the GridEngine, which is a load-balancing program that submits batch jobs to low-load processors on the SunFire cluster. To learn more about this program, click here. A Gamess job is submitted
to the GridEngine in the form of an execution script. The calculation is set up by editing this execution script (download a template here).
The lines starting with "#$ -o" and "#$ -e" define the standard output and standard error files, respectively. A full path is required. Note that all lines starting with "#$" are directives for the GridEngine, and will be
interpreted when the script is submitted to that program. If the script is executed via a standard shell (ie, interactively), these lines are ignored (ie, interpreted as comments). The lines that begin with "set" can be altered to fit
the specific case. The environment variable SCR should remain set to "/lscratch/$USER", so it is not recommended to alter that line. JOB needs to be set to the name of the input file. The input file is supposed to have "file
extension" .inp and reside in the same directory as the execution script. The extension should not be specified when assigning JOB.
The variables NNODES and HOSTLIST have to do with parallel execution of Gamess. NNODES sets the number of processors that will be used to run. If NNODES is 1 or not specified, the program runs serially, and HOSTLIST is
not needed. If NNODES is greater than one, a list of nodes HOSTLIST has to be specified within paranthesis, separated by a space. Each nodename has to be spelled out fully (eg "sfnode0") and enclosed in double quotes. Note that
this way of assigning a nodelist explicitely is undermining the job that GridEngine should do in picking low-load recources. In the future, we will redesign the HOSTLIST assignment for Gamess. Please check this FAQ occasionally to be up-to-date
on this issue. Once this is done, you can run the Gamess job interactively, by typing
gamess.csh >output_file &
(we assume your script is called gamess.csh and you want to catch the output in a file called output_file). Note that interactive execution is only acceptable for small test jobs on the SunFire cluster. For production jobs, the same script
is submitted to GridEngine by typing
qsub gamess.csh
No further specification of the output is necessary, since this is done inside the script and handled by GridEngine.
Back to Top...
5. Where can I get further information?
Gamess is not a simple program to run. It requires careful study of the input format, and a certain degree of knowledge about the "nuts and bolts" of computational quantum chemistry. It is impossible to use the program efficiently
without reading the user documentation, which can be downloaded here.
There is an official Gamess homepage with some information about capabilities of program, donloading a copy yourself, and the history of Gamess. There is also a mailing list that is operated independently. It hasn't been very active recently, so don't expect too much.
HPCVL also provides support for the usage of programs that are installed on the SunFire's. You can get in touch with us via our contact page. The author of this FAQ, Hartmut Schmider is a computational chemist and has used Gamess in the past. He might be able to help you.
Back to Top...
6. Are there licensing issues with Gamess?
In short, no. Gamess (US) is distributed with a very liberal registration policy. In fact, you can obtain your own
copy of the program. The Gamess maintainers require that you register and that you do not redistribute the code. Gamess is a very portable program, and will run on IBM PC's (Windows), MacIntoshes, a variety of Unix platforms (including Linux),
and your Palm Pilot (just kidding).
However, like with all licensed software on HPCVL computers, we require our users to read the agreement that exists between the owners of Gamess and HPCVL. If you want to use Gamess, you will have to sign a statement that you have read and understood the
agreement and will abide by it as a user of our facilities. You can download the agreement and the statement here. Please sign it and return it to us. You will then be included in a Unix group that allows you
access to the program.
Back to Top...
|