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 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.
  
 +
=============================================
 
<source lang=bash>
 
<source lang=bash>
 
#!/bin/bash
 
#!/bin/bash

Revision as of 18:18, 17 September 2012

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