Gaussian16 on GPU

This document provides basic information for using Gaussian software on the Neuron system. Therefore, it does not include instructions on how to use Gaussian software or Neuron/Linux. For information on how to use Neuron/Linux, please refer to the User Guide and other resources available on the KISnTI website (https://www.ksc.re.kr) under Technical Support.

A. Gaussian Introduction

Gaussian is a molecular modeling package used to predict energy, molecular structure, and vibrational frequencies, designed for researchers in chemistry, physics, life sciences, and engineering.

For more detailed information, please visit the Gaussian website. Website URL: http://gaussian.com

B. Installation version and License

KISTI Supercomputing Center holds a site license for Gaussian16, and Gaussian16 Rev. A03 is installed.

Gaussian16 Rev. The A03 version does not support the V100 GPU, so jobs must be submitted to the K40 partition. (http://gaussian.com/gpu)

To use Gaussian16, your account must be registered with the Gaussian group (gauss group). To register for the Gaussian group, please contact the KISTI website or email account@ksc.re.kr.

To verify if your account is part of the Gaussian group, follow the steps below:

$ id user ID

※ If you are included in the Gaussian group, the output should include "1000009(gauss)".

Due to security issues, users cannot access the program's source code but can only access the executable files and basis functions. This does not affect the functionality of the program.

To use programs integrated with Gaussian, such as Gaussrate, you may need access to certain source code or shell files in advance. In such cases, please request access via the KISTI website or by emailing account@ksc.re.kr.

Both HF and DFT calculations can be performed in parallel.

Gaussian16 Rev. The A03 version does not support the V100 GPU, and jobs must be submitted to the K40 partition. However, since the K40 partition has been decommissioned due to node configuration changes, please use a different version.

C. How to Run the Software

1. Configuration Settings

Gaussian16 can be loaded using the module command.

$ module load gaussian/g16.c01

2. Writing a Scheduler Job Script File

On the Neuron system, jobs must be submitted using the SLURM scheduler from the login node.

Example files for using SLURM on the Neuron system can be found at the path below, which you can refer to when creating your job script files.

  • Example job script for exclusive node usage : /apps/applications/test_samples/G16/g16.c01_gpu.sh

  • Example job script for shared node usage : /apps/applications/test_samples/G16/g16.c01_gpu_share.sh

※ The following is an example of using Gaussian16 on the Neuron system: file location: /apps/applications/test_samples/G16/g16.c01_gpu.sh

#!/bin/sh
#SBATCH -J test
#SBATCH -p cas_v100_4 # Use the cas_v100_4 node
#SBATCH --nodes=1 
#SBATCH -o %x_%j.out # Define the file name for standard output
#SBATCH -e %x_%j.err # Define the file name for standard error
#SBATCH -t 00:30:00
#SBATCH --comment gaussian
#SBATCH --exclusive # Allocate the node exclusively for this job
#SBATCH --gres=gpu:4

module purge
module load gaussian/g16.c01

export GAUSS_SCRDIR="$SLURM_SUBMIT_DIR"

export GAUSS_MDEF=96GB

export GAUSS_CDEF="0-39"
export GAUSS_GDEF="0-3=0,10,11,19"

g16 test.com

The GAUSS_CDEF variable is equivalent to the %CPU option, and if a %CPU value is specified in the input file, that value will be applied.

In the past, under the exclusive node policy, only one job was exclusively assigned to each node, allowing specific CPUs to be designated for use. However, under the shared node policy, multiple jobs can run on a single node, so it is necessary to appropriately allocate the CPUs assigned to the job. The example above illustrates a job that exclusively allocates the cas_v100_4 node, utilizing 40 cores and 4 GPUs.

For an example job script on a shared node, please refer to the file at /apps/applications/test_samples/G16/g16.c01_gpu_share.sh

The GAUSS_GDEF variable is equivalent to the %GPUCPU option, which maps GPUs to CPUs. For example, it designates the control CPU for GPU 0 (the first GPU, as identified by the nvidia-smi command) as CPU 0. (%GPUCPU=gpu-list=control-cpus)

The GAUSS_MDEF variable is equivalent to the %Mem option, and if a %Mem value is specified in the input file, that value will be applied. Please enter an appropriate value according to the scale of the calculation, and ensure that the setting does not exceed the memory allocated by the SLURM scheduler. (Refer to the Neuron User Guide > Executing Jobs through the SLURM Scheduler)

Reference : http://gaussian.com/relnotes

※ If you create a Gaussian input file on your PC and transfer it via FTP, make sure to transfer it in ASCII mode.

For additional commands and usage related to SLURM, please refer to the Neuron User Guide.

Key commands for the SLURM scheduler (For details, refer to the Neuron System User Guide)

Command
Description

sbatch g16_gpu.sh

Submit the job script (g16_gpu.sh) to SLURM

squeue

View all jobs submitted to SLURM that are pending or running

sinfo

Check SLURM partition information

scancel job-id

Cancel the submitted job

3. How to Use GaussView

GaussView, being a GUI-based program, can be run on MyKSC's VNC (remote desktop) via the web service portal (refer to MyKSC VNC usage guide, GPU support not available)

It is recommended to use GaussView on MyKSC VNC for generating input data and analyzing results due to the limited computational resources allocated; intensive computations should be executed via the batch job scheduler.

D. Reference Materials

For those new to Gaussian, it is recommended to read the following book.

  • James B. Foresman and Aeleen Frisch, "Exploring Chemistry with Electronic Structure Methods: A Guide to Using Gaussian", It can be purchased from online bookstores such as www.amazon.com and www.bn.com, or directly from http://gaussian.com.

All information about Gaussian can be obtained from the Gaussian website (http://gaussian.com).

Last updated on November 11, 2024.

Last updated