Gaussian Job Scripts
Jump to navigation
Jump to search
The following is a sample bash submission script. It automatically detects the CPU type of the machine on which your job runs and choose the appropriate version of Gaussian for better performance. If OMP_NUM_THREADS is set, Gaussian will use it for the number of processors unless %nproc or %nprocshared is set in your Gaussian input file. The number of threads specified to Gaussian via either method should be consistent with the number of processors in your resource request.
=================================
#!/bin/bash
#
#PBS -r n
#PBS -N g09
#PBS -o stdout
#PBS -e stderr
#PBS -j oe
#PBS -m abe
#PBS -M USER@ufl.edu
#PBS -l nodes=1:ppn=8
#PBS -l walltime=00:30:00
#PBS -l pmem=2000mb
module load gaussian
cpuFamily=`grep -m 1 vendor /proc/cpuinfo | awk -F : '{print $2}'`
case "${cpuFamily}" in
*GenuineIntel*)
arch="em64t"
grep -i sse4 /proc/cpuinfo > /dev/null
if [ $? -eq 0 ]
then
arch="em64t-sse4"
else
arch="em64t-c01"
fi
;;
*AuthenticAMD*)
arch="amd"
grep -i sse4 /proc/cpuinfo > /dev/null
if [ $? -eq 0 ]
then
arch="amd-sse4"
else
arch="amd-c01"
fi
;;
*)
echo "Gaussian has no dedicated version for CPU type ${cpuFamily}."
echo "Defaulting to Intel/EM64T version."
arch="em64t"
;;
esac
source ${g09root}/$arch/bsd/g09.profile
which g09
input=$YOUR_g09_input.com
output=$YOUR_OUTPUT.log
cd $PBS_O_WORKDIR
g09 < $input > $output