Gaussian¶
Gaussian is an electronic structure program, starting from the fundamental laws of quantum mechanics, Gaussian predicts the energies, molecular structures, vibrational frequencies and molecular properties of molecules and reactions in a wide variety of chemical environments.
Gaussian is available as a module on Apocrita.
Usage¶
To run the default installed version of Gaussian, simply load the gaussian
module:
module load gaussian
Gaussian Licensing
QMUL have a cluster licence for Gaussian installed on Apocrita, this licence only allows use by QMUL employees.
QMUL have a licence for GaussView, requests for this must go via the IT Services Helpdesk.
Core Usage
When the Gaussian module is loaded in a job, it will automatically set
GAUSS_CDEF to the value of SLURM_NTASKS or SLURM_CPUS_PER_TASK,
which contains a list of the CPU cores bound to the job. These variables
ensure that Gaussian will only use the cores requested by the job script.
Note that any core settings on the command line or in the input file will override this.
Please be aware that if you use the nproc option, this must use the
value of SLURM_NTASKS or SLURM_CPUS_PER_TASK (number of cores
requested by the job script), to avoid overloading the compute nodes.
Segmentation violations¶
If Gaussian returns a Segmentation Violation then you may need to give it more memory. Memory for Gaussian is specified in two places, the job script and the .com file:
Job script:
#SBATCH --ntasks=4
#SBATCH --mem-per-cpu=2G
.com file:
%mem=6GB
The %mem request must be 1-4G less than the total memory request
Gaussian uses about 1-4GB already so the memory stated in the .com file
must be less than the Slurm request.
If your jobs run out of memory try setting %mem to a lower value.
It's important to note that whilst the job script mem-per-cpu is multiplied by
number of cores, the .com file is not and the full value must be specified.
Example jobs¶
Serial job¶
Here is an example job running on 4 cores.
#!/bin/bash
#SBATCH --ntasks=4 # (or -n 4) Request 4 cores
#SBATCH --mem-per-cpu=2G # Request 2GB RAM per core (8G total)
#SBATCH -t 1:0:0 # Request 1 hour runtime
module load gaussian
g16 < input-file > output_file