Gaussian Job Script
Here is a simple job script g16.sb for running Gaussian job
g16.com:
g16.sb
#!/bin/bash --login
#SBATCH –-job-name=GaussianJob
#SBATCH –-ntasks=1
#SBATCH –-cpus-per-task=4
#SBATCH --mem=7G
#SBATCH –-time=00:10:00
echo "This script is from ICER's Gaussian example"
InputFile=g16.com
OutputFile=g16.log
module load Gaussian/g16 powertools
# GAUSS_SCRDIR=<your preferred Gaussian scratch space>
# mkdir -p ${GAUSS_SCRDIR}
g16 < ${InputFile} > ${OutputFile}
### write job information to SLURM output file
scontrol show job $SLURM_JOB_ID
# Print out resource usage
js -j $SLURM_JOB_ID ### powetools command
where the Gaussian input file g16.com can be found from the previous
section Running Gaussian by Command Lines.
For the resource request (#SBATCH lines) above, since Gaussian
can only run in parallel with
shared memory
in HPCC system, only 1 task (with 1
node) is requested in line 2. The number of CPUs requested in line 3 is
the same as the setting of "%NProcShared" (=4) in the Gaussian input
file. The memory request in line 4 should be larger than the setting of
"%Mem" (=5GB) in the Gaussian input file in case the job runs out of
memory. Please also make sure the walltime request in line 5 is longer
enough to finish the job.
In the command line, you need to make sure Gaussian/g16 is loaded
as in line 10. If you would like to use scratch directory other than
/mnt/scratch/$USER for the Gaussian scratch files, you could set up a
different one with line 11 and 12. The calculation of the Gaussian job
is executed in line 14 with input file g16.com and output file
g16.log. Once the calculation is done, line 17 and 20 will be executed
to print out the job information and resource usage respectively to the
SLURM output file ( with file name: slurm-<JobID>.out).