Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description

Gaussian is a general purpose computational chemistry software package. It provides state-of-the-art capabilities for electronic structure modeling. Use ghelp to get help

Restricted use

Available only for members of the Paderborn University. Apply for access: https://doku.pc2.uni-paderborn.de/pages/1902360/Licensed+Software

More information

- https://gaussian.com/man

Available Versions of gaussian

Version

Module

Available on

g16/c02

chem/gaussian/g16/c02

Noctua 2

g16/c01

chem/gaussian/g16/c01

Noctua 1, Noctua 2

g16/b01

chem/gaussian/g16/b01

Noctua 1, Noctua 2

g09/d01

chem/gaussian/g09/d01

Noctua 1, Noctua 2

g09/b01

chem/gaussian/g09/b01

Noctua 1, Noctua 2

g03

chem/gaussian/g03

Noctua 1, Noctua 2

This table is generated automatically. If you need other versions please click pc2-support@uni-paderborn.de.

...

If you need support in using this software or example job scripts please click pc2-support@uni-paderborn.de.

Computation with multiple CPUs on one or more compute nodes

An example of geometry optimization followed by analytical frequency calculation of caffeine molecule is presented here.

The Gaussian input file is given below. Please note:

  • %cpu=0-127 specifies the CPU cores (starting from 0) for the job on each compute node.

  • There is no need to specify the number of compute nodes in Gaussian input file. The control of multiple compute nodes is performed by Slurm.

Gaussian input

Code Block
languagenone
%mem=128GB
%cpu=0-127
# b3lyp/6-311+g(d) opt freq`

We love Café

0 1
O  2.383524  1.065652  0.000000
O  0.332955 -3.082123  0.000000
N -1.057329 -1.245565  0.000000
N -0.465323  2.223753  0.000000
N  1.319793 -1.009521  0.000000
N -2.286017  0.870360  0.000000
C  0.000000  0.927977  0.000000
C -1.140130  0.130872  0.000000
C  1.344937  0.405397  0.000000
C  0.190307 -1.864298  0.000000
C -1.831401  2.134481  0.000000
C -2.275717 -2.049078  0.000000
C  0.349100  3.433269  0.000000
C  2.606002 -1.713972  0.000000
H -2.459303  3.025784  0.000000
H -2.875732 -1.821570  0.894667
H -1.972156 -3.102774  0.000000
H -2.875732 -1.821570 -0.894667
H -0.326272  4.300612  0.000000
H  0.989438  3.453412  0.892939
H  0.989438  3.453412 -0.892939
H  3.392927 -0.950608  0.000000
H  2.684548 -2.353005 -0.891658
H  2.684548 -2.353005  0.891658

The Slurm jobscript is given below. Please note:

  • --nodes=2 specifies the computation uses 2 compute nodes. Please feel free to change this option to use one or more compute nodes.

  • --ntasks-per-node=1 specifies one task per compute node. Please use 1 because of the parallelism in Gaussian.

  • --cpus-per-task=128 specifies the number of CPU cores for each task. Here, 128 is used for Noctua 2. 40 can be used for Noctua 1. Please, make sure the number of CPU cores for this option is compatible with %cpu in the Gaussian input file.

  • The list of used compute nodes is generated automatically.

Slurm jobscript

Code Block
languagebash
#!/usr/bin/env bash
#SBATCH --job-name=g16cafe
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=128
#SBATCH --time=00:10:00
#
# load Gaussian 16
#
module reset
module load chem/gaussian/g16/c02
#
# create Gaussian scratch
#
MYSCRATCH=$(mktemp -d G16.XXXXX)
export GAUSS_SCRDIR=${MYSCRATCH}
#
# run Gaussian computation
#
cnodes=$(scontrol show hostnames | paste -s -d,)
g16 -w=${cnodes} caffeine.com

Computation with GPUs on one or more GPU compute nodes

Please note the following for the Gaussian computation with efficient GPU usage.

  • The GPUs and their control CPU cores should be assigned as close as possible in the Gaussian input file.

  • One control CPU core controls one and only one GPU.

  • GPUs are effective for large molecular DFT energies, gradients, and frequencies. They are less effective for post-HF calculations.

  • More information is available at https://gaussian.com/gpu

An example of geometry optimization followed by analytical frequency calculation of caffeine molecule is presented here.

The Gaussian input file is given below. Please note:

  • %cpu=0-127 specifies the CPU cores (starting from 0) for the job on each GPU compute node

  • %gpucpu=0,1,2,3=63,31,127,95 requests GPUs 0, 1, 2, and 3 for the calculation with CPU cores 63, 31, 127, and 95, respectively, as its controller for each GPU compute node. The GPUs and CPU affinity are determined by the GPU topology in GPU compute node. More information is available at NVIDIA A100 40GB with NVLINK#Topology.

  • There is no need to specify the number of GPU compute nodes in Gaussian input file. The control of multiple GPU compute nodes is performed by Slurm.

Gaussian input

Code Block
%mem=128GB
%cpu=0-127
%gpucpu=0,1,2,3=63,31,127,95
# b3lyp/6-311+g(d) opt freq

We love Café

0 1
O  2.383524  1.065652  0.000000
O  0.332955 -3.082123  0.000000
N -1.057329 -1.245565  0.000000
N -0.465323  2.223753  0.000000
N  1.319793 -1.009521  0.000000
N -2.286017  0.870360  0.000000
C  0.000000  0.927977  0.000000
C -1.140130  0.130872  0.000000
C  1.344937  0.405397  0.000000
C  0.190307 -1.864298  0.000000
C -1.831401  2.134481  0.000000
C -2.275717 -2.049078  0.000000
C  0.349100  3.433269  0.000000
C  2.606002 -1.713972  0.000000
H -2.459303  3.025784  0.000000
H -2.875732 -1.821570  0.894667
H -1.972156 -3.102774  0.000000
H -2.875732 -1.821570 -0.894667
H -0.326272  4.300612  0.000000
H  0.989438  3.453412  0.892939
H  0.989438  3.453412 -0.892939
H  3.392927 -0.950608  0.000000
H  2.684548 -2.353005 -0.891658
H  2.684548 -2.353005  0.891658

The Slurm jobscript is given below. Please note:

  • --nodes=2 specifies the computation uses 2 GPU compute nodes. Please feel free to change this option to use one or more GPU compute nodes.

  • --ntasks-per-node=1 specifies one task per compute node. Please use 1 because of the parallelism in Gaussian.

  • --cpus-per-task=128 specifies the number of CPU cores for each task. Here, 128 is used for Noctua2. 40 can be used for Noctua1. Please, make sure the number of CPU cores for this option is compatible with %cpu in the Gaussian input file.

  • --partition=gpu requests the gpu partition (see also Node Types and Partitions

  • --gres=gpu:a100:4 specifies the GRES type to request appropriate GPUs (see also Running Compute Jobs#Using-GPUs)

  • The list of used GPU compute nodes is generated automatically.

Slurm jobscript

Code Block
languagebash
#!/usr/bin/env bash
#SBATCH --job-name=g16cafe
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=128
#SBATCH --time=00:10:00
#SBATCH --partition=gpu
#SBATCH --gres=gpu:a100:4
#
# load Gaussian 16
#
module reset
module load chem/gaussian/g16/c02
#
# create Gaussian scratch
#
MYSCRATCH=$(mktemp -d G16.XXXXX)
export GAUSS_SCRDIR=${MYSCRATCH}
#
# run Gaussian computation
#
cnodes=$(scontrol show hostnames | paste -s -d,)
g16 -w=${cnodes} caffeine.com

Further information