GAMESS-2019Sep30

Webpage

https://www.msg.chem.iastate.edu/gamess/index.html

Version

September 30, 2019 R2

Build Environment

  • Intel Parallel Studio XE 2017 update 8
    • ifort 17.0.8
    • icc 17.0.8
    • MKL 2017.0.4

Files Required

  • gamess-current.tar.gz (version Sep 30, 2019)
  • gmsnbo.i8.a (NBO7.0)
  • rungms_rccs (please check installed "rungms" file)
  • exam43.patch

--- tests/standard/exam43.inp.orig      2018-03-13 11:58:15.322187865 +0900
+++ tests/standard/exam43.inp   2018-03-13 11:58:32.049289234 +0900
@@ -48,7 +48,7 @@
 ! geometry in $DATA, although this is not necessary.
 !
  $contrl scftyp=rhf runtyp=g3mp2 $end  
- $system timlim=2 mwords=2 memddi=5 $end
+ $system timlim=2 mwords=10 memddi=5 $end
  $scf    dirscf=.true. $end
  $data
 Methane...G3(MP2,CCSD(T))

  • pbs_remsh

#!/bin/sh
host="$1"
shift
/usr/bin/ssh -n "$host" env PBS_JOBID="$PBS_JOBID" pbs_attach $*

Build Procedure

#!/bin/sh

VERSION=2019Sep30
DIRNAME=gamess${VERSION}
INSTDIR=/local/apl/lx/${DIRNAME}

# files and patches
GAMESS_TARBALL="/home/users/${USER}/Software/GAMESS/gamess${VERSION}/gamess-current.tar.gz"
GAMESS_NBOI8A="/home/users/${USER}/Software/GAMESS/gamess${VERSION}/gmsnbo.i8.a"
PATCH_EXAM43="/home/users/${USER}/Software/GAMESS/gamess${VERSION}/exam43.patch"
RUNGMS_RCCS="/home/users/${USER}/Software/GAMESS/gamess${VERSION}/rungms_rccs"
PBS_REMSH="/home/users/${USER}/Software/GAMESS/gamess${VERSION}/pbs_remsh"

#-----------------------------------------------------------------------------
umask 0022

export LANG=C
export LC_ALL=C

module purge
module load intel_parallelstudio/2017update8

cd ${INSTDIR}
if [ -d gamess ]; then
  mv gamess gamess-erase
  rm -rf gamess-erase &
fi

tar zxf ${GAMESS_TARBALL}
mv ${INSTDIR}/gamess/* .
rm -rf ${INSTDIR}/gamess # remove a dot file and a dot directory

sed -i -e 's/MAXCPUS=32/MAXCPUS=80/' ddi/compddi
sed -i -e "s/GMS_OPENMP='false'/GMS_OPENMP='true'/" config
# -xHost causes errors in some of tests
#sed -i -e "s/EXTRAOPT -warn/EXTRAOPT -xHost -warn/" comp
sed -i -e "s/ext=log/ext=gamess/" tests/standard/checktst
sed -i -e "1s/.*/#\!\/bin\/csh -f/" comp
sed -i -e "1s/.*/#\!\/bin\/csh -f/" lked
sed -i -e "1s/.*/#\!\/bin\/csh -f/" gms-files.csh

patch -p0 < ${PATCH_EXAM43}
cp ${PBS_REMSH} .

expect << EXPECT
spawn csh -f ./config
expect "After the new window is open"
send "\r"
expect "please enter your target machine name:"
send "linux64\r"
expect "GAMESS directory?"
send "${INSTDIR}\r"
expect "GAMESS build directory?"
send "${INSTDIR}\r"
expect "Version?"
send "\r"
expect "Please enter your choice of FORTRAN:"
send "ifort\r"
expect "Version?"
send "19\r"
expect "hit <return> to continue to the math library setup."
send "\r"
expect "Enter your choice of 'mkl' or 'atlas' or 'acml' or 'pgiblas' or 'none':"
send "mkl\r"
expect "MKL pathname?"
send "${MKLROOT}\r"
expect "MKL version (or 'proceed')?"
send "proceed\r"
expect "please hit <return> to compile the GAMESS source code activator "
send "\r"
expect "please hit <return> to set up your network for Linux clusters."
send "\r"
expect "communication library ('sockets' or 'mpi')?"
send "sockets\r"
expect "Optional: Build Michigan State University CCT3 & CCSD3A methods?"
send "yes\r"
expect "Do you want to try LIBCCHEM"
send "no\r"
expect eof
EXPECT

cd ddi && csh -f compddi && mv -f ddikick.x ../ && cd -
make modules
make -j 12

GAMESS_NBOI8A_ESC=`echo ${GAMESS_NBOI8A} | sed -e 's/\//\\\\\//g'`
sed -i -e "s/NBO=false/NBO=true/" lked
sed -i -e "s/NBOLIB=.*/NBOLIB=${GAMESS_NBOI8A_ESC}/" lked
sed -i -e "s/LDOPTS='-i8'/LDOPTS='-static-intel -i8'/" lked

csh -f ./lked

mv rungms rungms.orig
cp ${RUNGMS_RCCS} ./rungms

chmod -R o-rwx source object
find . -name "src" | xargs chmod -R o-rwx

# ---- test
cd tests/standard
export OMP_NUM_THREADS=8
../runtest ${INSTDIR}/rungms 00 1
./checktst
export OMP_NUM_THREADS=4
../runtest ${INSTDIR}/rungms 00 8
./checktst
cd ../../

ipcrm -a

Notes

  • -xHost option was not used for this version; some of tests met errors if added.
  • Binary built with intel 18/19 couldn't pass one of tests.
  • "DDI running over MPI" is not advantageous in our Omni-Path connected system. Thus, we employ "sockets" version.