Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 3 Nächste Version anzeigen »

TurboMole ist ein Programmpaket für ab-inito-Elektronenstrukturrechnungen. Aktuell auf unserem HPC System ist zur Zeit die Version 6.5.

 

 

 

 

Job Script Template (Shared Memory / OMP)

tm.job
#!/bin/bash

#PBS -l select=1:ncpus=###CORES###:mem=32gb
#PBS -l place=group=###GROUPING###
#PBS -l walltime=999:00:00
#PBS -r n
#PBS -N ###JOB NAME###
#PBS -A ###myJAM PROJECT###

export LOGFILE=$PBS_O_WORKDIR/$PBS_JOBNAME"."$PBS_JOBID".log"

#make unique scratch directory on GPFS filesystem
SCRATCHDIR=/scratch_gs/$USER/$PBS_JOBID
mkdir -p "$SCRATCHDIR"

cd $PBS_O_WORKDIR

echo "$PBS_JOBID ($PBS_JOBNAME) @ `hostname` at `date` in "$RUNDIR" START" > $LOGFILE
echo "`date +"%d.%m.%Y-%T"`" >> $LOGFILE

#load Gaussian Environment and set scratch directory
module load TurboMole/6.5
export TURBOTMPDIR=$SCRATCHDIR

#copy input files to scratch directory
cp -r $PBS_O_WORKDIR/* $SCRATCHDIR/.
cd $SCRATCHDIR
rm $PBS_JOBNAME"."$PBS_JOBID".log"

#set memory affinity (see below)
export KMP_AFFINITY="verbose,explicit,compact"

#some output for debugging
CPUSET=/dev/cpuset/PBSPro/$PBS_JOBID
CPUSET_CPUS=`cat $CPUSET/cpus`
CPUSET_MEMS=`cat $CPUSET/mems`

echo >> $LOGFILE
echo "GLOBAL PARAMETERS" >> $LOGFILE
echo "---------------------------" >> $LOGFILE
echo "Node      : "`hostname` >> $LOGFILE
echo "RunDir    : "$PBS_O_WORKDIR >> $LOGFILE
echo "TurboBins : "$TURBOBINS >> $LOGFILE
echo "ScratchDir: "$SCRATCHDIR >> $LOGFILE
echo "# CPUs    : "$NCPUS >> $LOGFILE
echo "  \`-CPUSet: "$CPUSET_CPUS >> $LOGFILE
echo "  \`-MEMs  : "$CPUSET_MEMS >> $LOGFILE
echo "# Threads : "$OMP_NUM_THREADS >> $LOGFILE
echo "KMP_AFFINITY = "$KMP_AFFINITY >> $LOGFILE
echo >> $LOGFILE
echo "STARTING TURBOMOLE..." >> $LOGFILE
echo "---------------------------" >> $LOGFILE

#INSERT TURBOMOLE CALLS HERE, e.g. 
# actual -r 2>&1 >> $LOGFILE
# dscf_omp 2>&1 >> $LOGFILE
# or whatever

# copy back results to home directory
cp -r $SCRATCHDIR/* $PBS_O_WORKDIR/.
cd $PBS_O_WORKDIR

#print the last known statistics of the job (memory usage, cpu time, etc...)
echo >> $LOGFILE
qstat -f $PBS_JOBID >> $LOGFILE

echo "$PBS_JOBID ($PBS_JOBNAME) @ `hostname` at `date` in "$RUNDIR" END" >> $LOGFILE
echo "`date +"%d.%m.%Y-%T"`" >> $LOGFILE

 

Zur Bedeutung und Verwendung der Environment-Variable KMP_AFFINITY siehe: Thread Affinity Interface (Intel)

 

  • Keine Stichwörter