Running Gaussian on Grex

Introduction#


Gaussian 16 is a comprehensive suite for electronic structure modeling using ab initio, DFT and semi-empirical methods. A list of Gaussian 16 features can be found here .

User Responsibilities and Access#


University of Manitoba has a site license for Gaussian 16 and GaussView. However, it comes with certain license limitations, so access to the code is subject to some license conditions.

Since, as of now, Compute Canada accounts are a superset of Grex accounts, users will want to initiate getting access by sending an email agreeing to Gaussian conditions to support@tech.alliancecan.ca, confirming that you have read and agree to abide by the following conditions, and mentioning that you’d also want to access it on Grex:

1. I am not a member of a research group developing software competitive to Gaussian.

2. I will not copy the Gaussian software, nor make it available to anyone else.

3. I will properly acknowledge Gaussian Inc. and Compute Canada in publications.

4. I will notify Compute Canada of any change in the above acknowledgement.

If you are a sponsored user, your sponsor (PI) must also have such a statement on file with us.

Moreover, the terms of the UManitoba license are actually stricter than for the Alliance (Compute Canada). In particular, it excludes certain research groups at the University to have access to the software. Therefore, we are required by Gaussian to have each of the Gaussian users to sign a Confidentiality Agreement form as provided to us by Gaussian. Inc. Please drop by our office in Engineering, E2-588 to get the form and return it signed.

System specific notes#


On Grex, Gaussian is limited to a single node, SMP jobs and the memory of a single node. There is no Linda. The Gaussian code is accessible as a module. The module sets Gaussian’s environment variables like GAUSS_SCRDIR (the latter, to local node scratch).

module load gaussian/g16.c01

To load the module and access the binaries, you will first get access as per above. Also, our Gaussian license span is less than Compute Canada’s support contract, so there are fewer versions available. Use module spider gaussian to see what is available on Grex.

After a Gaussian module is loaded, the GaussView software also becomes available (provided you have connected with X11 support, perhaps using X2Go) as follows:

gv

The viewer should not be used to run production calculations on Grex login nodes. Instead, as for any other production calculations, SLURM jobs should be used as described below.

Using Gaussian with SLURM#


Sample SLURM Script#


Script example for running Gaussian on Grex
run-gaussian.sh
#!/bin/bash

#SBATCH --ntasks=1 
#SBATCH --cpus-per-task=8
#SBATCH --mem=32gb
#SBATCH --time=8:00:00
#SBATCH --job-name=Gauss16-test

module load gaussian/g16.c01

echo "Starting run at: `date`"

which g16

# note that input should have %nproc=8
# and %mem=40gb for the above resurce request.

g16 < input.gjf > output.$SLURM_JOBID.log

echo "Program finished with exit code $? at: `date`"

Simplified job submission#


A simplified job script sbg16 is available (after loading of the g16 module) for automatic generation and submission of SLURM Gaussian jobs.

sbg16 input.gjf -ppn 8 -part skylake -mem 40000mb -time 12:00:00

The script takes input file name (must have the .gjf extension), which must be the first argument, and a couple of parameters:

  • -ppn N : number of threads. Cannot be more than physical number of threads per node on the selected partition
  • -part name : a SLURM partition to run the job in .
  • -mem MemSpec : total memory per job. The MemSpec can include usual units, without spaces (1000mb, 3gb , etc).
  • -time TimeSpec : walltime requested for the job, in SLURM format (1-00:00 or 24:00:00 give one day).

Using NBO#


University of Manitoba has site licenses for NBO6 and NBO7. Corresponding NBO modules would have to be loaded in order to use Gaussian’s POP=NBO6 or NBO7 keywords.

To list available NBO versions and their dependencies, run the command:

module spider nbo