NWChem
| If you are a windows user – please ensure you create your jobscript ON THE CSF directly using gedit. This will prevent your job going into error (Eqw). Text files created on windows have hidden characters that linux cannot read. For further information please see the guide to using the system from windows, in particular the section about text & batch submission script files. |
Overview
NWChem is a suite of highly scalable tools for atomistic computational chemistry, offering a wide range of quantum, classical and combined approximations. Molecular electronic structure calculations using ab initio, DFT and higher order methods utilise Gaussian orbitals, while plane wave + pseudopotential methods are available for periodic calculations. Most of these methods can also be used in conjunction with the QM/MM and MD modules.
Set up procedure
NWChem can be accessed by loading the module file as follows:
module load apps/intel-17.0/nwchem/6.8.1
This will also automatically load the appropriate MPI modulefile into your environment and set some environment variables where NWChem will look for basis set libraries, etc.
Running the application
Please do not run NWChem on the login nodes. Jobs should instead be submitted to the compute nodes via the batch system, SGE. Some example jobs are given below.
Serial batch job submission
Two NWChem executables are available: nwchem for MPI jobs and nwchem.serial for serial jobs. An example jobscript for a serial job is shown below:
#!/bin/bash --login #SBATCH -p serial # (--partition) Run on the Intel 1-core job compute nodes #SBATCH -n 1 # (--ntasks) Optional, as it is always 1 in serial jobs. #SBATCH -t 0-2 # Wallclock time limit. 0-2 is 2 days, max permitted is 7-0. module purge module load apps/intel-17.0/nwchem/6.8.1 # Use the serial nwchem executable nwchem.serial h2o.nw
Submit the jobscript using:
sbatch scriptname
Single node parallel batch job submission (2-40 cores)
An example jobscript for a single node MPI job is given below.
#!/bin/bash --login #SBATCH -p multicore_small # Run on the nodes dedicated to jobs of size 2--40 cores. #SBATCH -n 32 # Request 32 cores module purge module load apps/intel-17.0/nwchem/6.8.1 # The nwchem executable is an MPI (parallel) executable mpirun -n $SLURM_NTASKS nwchem uo2.nw
Submit the jobscript using:
sbatch scriptname
Multi-node parallel batch job submission (80-1280 cores in multiples of 40)
The following jobscript requests 120 cores (three 40-core nodes with Infiniband network):
#!/bin/bash --login #SBATCH -p multicore # (--partition) Run on the 40-core nodes with fast InfiniBand networking #SBATCH -N 3 # (--nodes) Number of nodes, which must be specified explicitly #SBATCH -n 120 # (--ntasks) Request 120 cores #SBATCH -t 0-2 # Wallclock time limit. 0-2 is 2 days, max permitted is 7-0 module purge module load apps/intel-17.0/nwchem/6.8.1 mpirun -n $SLURM_NTASKS nwchem p2ta.nw
Submit the jobscript using:
sbatch scriptname
Memory management
For many (typically smaller) jobs the default memory allocation set by NWChem is sufficient. However, memory intensive jobs will often fail at some point during their runtime with seemingly obscure errors, such as “ARMCI DASSERT fail”.
