NWChem Usage Instructions
Overview
NWChem is a computational chemistry package that is designed to run on high-performance parallel supercomputers as well as conventional workstation clusters. It aims to be scalable both in its ability to treat large problems efficiently, and in its usage of available parallel computing resources.
NWChem has been developed by the Molecular Sciences Software group of the Environmental Molecular Sciences Laboratory (EMSL) at the Pacific Northwest National Laboratory (PNNL). Most of the implementation has been funded by the EMSL Construction Project.
An extensive list of NWChem's capabilities and functionalitycan be found by clicking on the Capabilities link on the navigation tabs on the NWChem website at URLhttp://www.emsl.pnl.gov/docs/nwchem. It is highly recommended that you review this information when evaluating the use of NWChem for your research needs.
Release Notes
The latest NWChem release notes may be found byclicking on the Release Notes link on the navigation tabs on the NWChem website at URLhttp://www.emsl.pnl.gov/docs/nwchem.
The release notes containvery important information on the new features available in ourNWChem version, functional differences from earlierreleases you may have used, and other important information. It ishighly recommended you review these notes.
Citing NWChem
Our license agreement with EMSL requires that all scholarly works created usingthe NWChem prominently cite the use of NWChem. The required andproper citation information may be found by clicking on the Citation link on the navigation tabs on the NWChem website at URLhttp://www.emsl.pnl.gov/docs/nwchem/
Documentation
Documention on NWChem can be found by clicking on the User's Manual link on the navigation tabs on the NWChem website at URLhttp://www.emsl.pnl.gov/docs/nwchem.
Prior to First Use of NWChem
NWChem requires a configuration file in your home directory so thatstandard database files that contain the original force field informationcan be located. These database files reside in a directory that is specifiedin file $HOME/.nwchemrc.
You should link to the master system-wide configuration file by issuing thefollowing command:
The will create the file .nwchemrc in your home directory that NWChem will use to locate the database files.
Please note that you only need to issue this instruction once. You will only need to execute it again should you delete or corrupt your.nwchemrc file.
Usage
NWChem is run in parallel in batch mode. It is available on all clusters.
The NWChem module must be loaded prior to running NWChem. This module will load all necessary prereqisites so that NWChem canbe run. The module command is:
The NWChem startup script automatically incorporates the mpiruncommand used to launch MPI applications. You do not need to explicitly callmpirun, as demonstrated in the example PBS script below. The followingexample will run an NWChem job on 16 cores for 10 minutes.
#PBS -l nodes=4:ppn=4 #PBS -l walltime=0:10:00 #PBS -j oe # change the current working directory to the directory where # the input deck input.nw can be found cd $PBS_O_WORKDIR echo " " echo "Starting job on `hostname` at `date`" echo " " # First load the NWChem module module load nwchem # Invoke NWChem. mpirun is implicit in the nwchem startup script so # we don't need to include it here nwchem input.nw echo " " echo "Completing job on `hostname` at `date`" echo " "
Additional information on PBS scripts and submitting jobsto PBS can be found in the appropriate system's UserGuide in the User Guides section of this website.
NWChem Performance Tips
Disk i/o and processor performance can affect the overall performanceof NWChem.
For most users a wise choice for the scratch keyword setting will havethe most impact on application performance. Use of the default local temporary disk space will provide the highest i/o performance. If your analysis requires large amounts of scratch disk space, first try torun NWChem jobs on nodes with large local /tmp space before switching to larger network-based scratch directories.
Make use of system memory to store integrals in-core rather then on disktry adding this to the NWChem input file:
scf semidirect memsize 2000000000 filesize 0 end
which will store 2 gwords (16 gbytes) of integrals in memory and noneon disk. You can try more by increasing that number. The job does notcrash your job if the integral cache cannot be allocated in the memoryavailable to NWChem, so there is no harm in setting this number to alarge value, as long as it does not roll over the maximum integer sizeon your machine (shouldn't be an issue for a 64-bit machine).
This will work in a DFT calculation as well an SCF calculation.
If disk IO is very fast, the difference betweenin-core and out-of-core algorithms is small. If you have fast disk,an optimal approach would be to use both memory and disk for integralcaching, but limit the disk cache because huge files usually slowthings down. Experimentations find that past a ~2 gb disk access starts to get slow. You opt for disk caching as well bychanging the filesize in the semidirect line to something other thanzero.
Semidirect is most useful when calculating theintegrals is expensive, ie when high angular momentum functions areused, ie aug-cc-pVQZ. For sp basis sets like 6-31G*, the differencewith respect to direct should be small.
When running in parallel and using multiple core on the same node, the memory setting is cumulative. For example:
will use a total of 5 GB (2 + 2 + 1) *per MPI process*. Thus 4 MPI procs ion a node will use 4 * 5 or 20 GB. Node memory can be exhausted quite easily if care is not taken.
For disk i/o and processor hints, feel free to contact rcc@rcc.its.psu.edu.
Sample code
Some nwchem example input files are located in directory /usr/global/nwchem/5.1/tests. Fell free to copy any of the input files to use as input to NWChem for testing.
Further Information
Further information on NWChem may be found on the NWChem web site at URLhttp://www.emsl.pnl.gov/docs/nwchem/.