Difference between revisions of "Gaussian Job Scripts"

From UFRC
Jump to navigation Jump to search
Line 1: Line 1:
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.
+
The following is a sample bash submission script. It detects the CPU type of the machine on which your job runs and chooses the appropriate version of Gaussian for best 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.'''
  
 
=============================================
 
=============================================

Revision as of 17:54, 19 September 2012

The following is a sample bash submission script. It detects the CPU type of the machine on which your job runs and chooses the appropriate version of Gaussian for best 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