Gaussian

This page was written by Marcos F. Calegari Andrade and members of Research Computing.

Gaussian at Princeton

Gaussian is a software package used for quantum chemistry calculations. To use Gaussian at Princeton you must do the following:

  1. Request an account on Adroit by completing this form.
     
  2. Send an email to Doug Rosso (drosso@princeton.edu) stating your interest in using the software. Sign and return the confidentially agreement. A request will be made to Research Computing to make Gaussian available to you on Adroit (or in some cases Della).

After you have access, to see the available modules run these commands:

$ ssh <YourNetID>@adroit.princeton.edu  # vpn needed from off-campus
$ module available gaussian
gaussian/g03
gaussian/g09
gaussian/g16

If you do not see these modules then you have not been added to the g03 Linux group. Follow the steps above to resolve this.

 

Batch Jobs

All Gaussian calculations on Adroit and Della must be submitted through the job scheduler. Below is a sample Slurm script for a Gaussian 16 job on Adroit:

#!/bin/bash
#SBATCH --job-name=gaussian      # create a short name for your job
#SBATCH --nodes=1                # node count
#SBATCH --ntasks=<N>             # total number of tasks across all nodes
#SBATCH --cpus-per-task=1        # cpu-cores per task (>1 if multi-threaded tasks)
#SBATCH --mem=40G                # total memory per node (4G per cpu-core is default)
#SBATCH --time=01:00:00          # total run time limit (HH:MM:SS)
#SBATCH --mail-type=begin        # send email when job begins
#SBATCH --mail-type=end          # send email when job ends
#SBATCH --mail-type=fail         # send email if job fails
#SBATCH --mail-user=<YourNetID>@princeton.edu

module purge
module load gaussian/g16

g16 < input.com > output.log

The number of CPU-cores is set by your choice of <N>. Be sure to choose a conservative value of <N> since as <N> increases the queue time increases and the parallel efficiency decreases. The Slurm script should always use --nodes=1 for all Gaussian jobs since our license does not support multi-node (Linda) calculations. On Adroit there are 32 CPU-cores per node and on Della there are between 28 and 32 (since the older Intel Ivy Bridge nodes cannot be used). Use the snodes command for more info. A good starting values is --ntasks=8. You also need to specify how much memory is required. Learn more about allocating memory.

In the Slurm script above, input.com is the Gaussian input file. See an extensive tutorial on Gaussian. This tutorial shows how to build input files using the Avogadro GUI, which is free. Avogadro is recommended for new users of Gaussian. The Gaussian user manual is also a valuable resource.

Be sure to sync your Slurm script with the header of the input file. For instance, if you are using ntasks=8 and mem=40G then in your input file (e.g., input.com):

%NProcShared=8
%mem=40GB

To submit the job use the following command:

$ sbatch job.slurm

 

Della

To run Gaussian on Della one must first get a faculty-sponsored account and then put in a separate request to use the software. Gaussian has been compiled with AVX2 instructions so it will fail on the older Ivy Bridge nodes. To exclude these nodes, add the following line to your Slurm script:

#SBATCH --constraint=haswell|broadwell

If you fail to do this then you will encounter an error like "Illegal instruction".

 

Example Job

Launch a Gaussian test job by running the following commands:

$ ssh <YourNetID>@adroit.princeton.edu
$ git clone https://github.com/PrincetonUniversity/hpc_beginning_workshop
$ cd hpc_beginning_workshop/RC_example_jobs/gaussian
# edit email address in job.slurm
$ sbatch job.slurm

If you are running on Della then see the Della section above. This calculation will run for about 25 minutes using 8 CPU-cores. Learn more about allocating memory for Slurm jobs.