GAMESS 2021 R1 (2021Jun30)

ウェブページ

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

バージョン

2021 R1 (2021Jun30)

ビルド環境

  • Intel Parallel Studio XE 2019 update 5
  • cmake 3.16.3

ビルドに必要なファイル

  • gamess-current.tar.gz (version Jun 30, 2020)
  • gmsnbo.i8.a (NBO7.0)
  • rungms_rccs (インストールされた rungms をご覧下さい)
  • 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 $*

ビルド手順

#!/bin/sh

VERSION=2021Jun30
DIRNAME=gamess${VERSION}
INSTDIR=/local/apl/lx/${DIRNAME}
#INSTDIR=/home/users/qf7/Software/GAMESS/${DIRNAME}/gamess-test

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

PARALLEL=12

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

export LANG=C
export LC_ALL=C

module purge
module load cmake/3.16.3
#module load intel_parallelstudio/2020update2
module load intel_parallelstudio/2019update5
#module load intel_parallelstudio/2017update8
#module load intel_parallelstudio/2018update4
IFORTVER=19

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 # maybe already empty

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
for f in comp compall config lked gms-files.csh runall ddi/compddi \
         tools/remd.csh tools/libxc/download-libxc.csh; do
  sed -i -e "1s/.*/#\!\/bin\/csh -f/" $f
done

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 "${IFORTVER}\r"
expect "hit <ENTER> to continue to the math library setup."
send "\r"
expect "Enter your choice of 'mkl' or 'atlas' or 'acml' or 'libflame' or 'openblas' or 'pgiblas' or 'armpl' or 'none':"
send "mkl\r"
expect "MKL pathname?"
send "${MKLROOT}\r"
expect "MKL version (or 'proceed')?"
send "proceed\r"
expect "please hit <ENTER> to set up your network for Linux clusters."
send "\r"
expect "communication library ('serial','sockets' or 'mpi' or 'mixed')?"
send "sockets\r"
expect "Optional: Build LibXC interface?  (yes/no): "
send "yes\r"
expect "Please hit <ENTER>"
send "\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

make ddi
# do libxc first (according to the installation guide)
csh -f ./tools/libxc/download-libxc.csh
make -j ${PARALLEL} libxc

make modules
make -j ${PARALLEL}

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

# retry
csh -f ./lked

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

chmod -R o-rwx source object libcchem
chmod -R o-rwx ddi/src ddi/server ddi/oldddi ddi/kickoff
find . -name "src" | xargs chmod -R o-rwx

# ---- tests
export OMP_NUM_THREADS=8
make checktest
make clean_exams

export OMP_NUM_THREADS=1

TEST_LIST="eda qmefpea efp-ci standard"
# Excluded tests
# cim: does not run with parallel, and ksh not avail
# efmo: not enough memory? problem of input?
# excitatinos: no avail test for parallel?
# neb: too long
for tp in $TEST_LIST; do
  make checktest NCPUS=8 EXAM_PATH=$tp
done

ipcrm -a

メモ

  • Omni-Path を使う RCCS のシステムでは DDI running over MPI は非効率になるため、sockets を利用しています。(Omni-Path の仕様の問題です)
  • libcchem を使った場合は上記 Omni-Path の問題が避けられないと想定されるため、今回は検証していません。