Gaussian and GaussView
Using on MedicineBow: The version of Gaussian/GaussView is old and will only run on older Intel chipsets. It will NOT work on the newer AMD chipsets that make up a subset of the MedicineBow compute nodes.
Old Beartooth cluster compute nodes are being migrated over to MedicineBow that can be used to run these applications.
For the moment, request the teton
partition within your scripts to get allocated an appropriate compute node.
Overview
Gaussian is a computer program used by chemists, chemical engineers, biochemists, physicists, and other scientists. It utilizes fundamental laws of quantum mechanics to predict energies, molecular structures, spectroscopic data (NMR, IR, UV, etc) and much more advanced calculations. GaussView is a graphical interface used with Gaussian.
Gaussian 16 is the latest in the Gaussian series of programs. It provides state-of-the-art capabilities for electronic structure modeling. Gaussian 16 is licensed for a wide variety of computer systems. All versions of Gaussian 16 contain every scientific/modeling feature, and none imposes any artificial limitations on calculations other than your computing resources and patience.
GaussView 6 is the latest iteration of a graphical interface used with Gaussian. It aids in the creation of Gaussian input files, enables the user to run Gaussian calculations from a graphical interface without the need for using a command-line instruction, and helps in the interpretation of Gaussian output (e.g., you can use it to plot properties, animate vibrations, visualize computed spectra, etc.).
Using
Use the module name gaussian
to discover versions available and to load the application.
Selecting the Correct Gaussian Module
Version | Cluster |
|
---|---|---|
gaussian/16.AVX2.b01 | medicinebow, beartooth, teton | This module is compiled for AVX2 compatible nodes. This has been tested on (but not across every) the following cluster partitions:
Please feel free to try on other partitions, but look out for the illegal instruction talked about below. |
gaussian/16.AVX.b01 | teton | This module is compiled for AVX compatible nodes - which can be used across all nodes on Teton. |
gaussian/103 | teton | This module provides access to the Gaussian 09 Chemistry software. |
Read Advanced Vector Extensions for an introduction to the difference between AVX and AVX2.
Multicore
Gaussian can be run across multiple cores and nodes. Modify the various parameters according to your needs. Also, make sure these match up with the input parameters you're using that get passed into the gaussian application, for example:
%nprocshared==16
%mem=60GB
These parameters are typically defined within the .gjf
files.
Remember to use the following form of the command srun g16 ...
GPUs
As stated on the Using GPUs “Gaussian 16 can use NVIDIA K40, K80, P100 (Rev. B.01), V100 (Rev. C.01) and A100 (Rev. C.02) GPUs under Linux. Earlier GPUs do not have the computational capabilities or memory size to run the algorithms in Gaussian 16.“. We have successfully tested using the P100s on both Beartooth and Teton. Bare in mind, where older GPUs are not supported, the same is true for newer GPUs. We have not been able to successfully run a test using the newer A30s on Beartooth.
Essentially to use GPUs you have to allocate the GPU device(s) to a specific CPUs. The “Optimizing the runtime of your jobs“ section at https://wiki.hpcuser.uni-oldenburg.de/index.php?title=Gaussian_2016 provides a good example on how to identify the CPUs your job is running on, and then how to update the %CPU
and %GPUCPU
parameters within your .gjf
input file.
Memory Considerations
The amount of memory you require is a bit of a dark-art and will depend on your input files and number of cores requested, so this does take an element of experimenting and analysis.
The freqmem utility takes parameters for a frequency calculation and determines the amount of memory required to complete all steps in one pass for maximum efficiency. Use this to approximate memory requirements.
According to the Gaussian 16 Rev. C.01 Release Notes under the Parallel Perf. tab: The memory allocation section recommends setting
%mem
to half the total memory you allocate for your job. Or, in other words, once you've approximated your memory needs for gaussian, then within the batch script request twice as much.
Potential Issues
galloc: could not allocate memory.: Cannot allocate memory
If you get an error of the form:
Then you need to increase the amount of memory you are requesting. Either increase the mem-per-cpu
or mem
values you are defining.
Depending on the cluster being used select appropriate partitions/memory options that met your requirements.
For Beartooth: If the amount is over 120G we’d recommend moving from the teton
partition to the teton-cascade
which can provide up to 760G on some of the compute nodes.
Error: illegal instruction, illegal opcode - Check module and selected partition
If you get an error of the form below:
Then you have likely loaded the AVX2 module but have not explicitly requested an appropriate partition.
Depending on the cluster being used select appropriate partitions as indicated above.
GaussView
"GaussView 6 is the latest iteration of a graphical interface used with Gaussian. It aids in the creation of Gaussian input files, enables the user to run Gaussian calculations from a graphical interface without the need for using a command-line instruction, and helps in the interpretation of Gaussian output (e.g., you can use it to plot properties, animate vibrations, visualize computed spectra, etc.)."
GaussView can be run from an Interactive Desktop from our SouthPass service. Once your have started an Interactive Desktop session, open a terminal, load your gaussian module and then type gv
from the command-line.