GAMESS-2018Feb14 for LX

ウェブページ

http://www.msg.ameslab.gov/GAMESS/GAMESS.html

バージョン

2018 Feb 14 R1

ビルド環境

  • Intel Compiler 17.0.4.196
  • Intel MKL 2017.4.196

ビルドに必要なファイル

  • gamess-2018Feb14.tar.gz (GAMESSのウェブページからダウンロードしたもの)
  • gmsnbo.i8.a (NBO6.0)
  • rungms.patch (長いので割愛します。パッチ適用後のrungmsをご覧下さい)
  • int2a.patch
  • exam43.patch

pbs_remsh

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

パッチファイル

int2a.patch

--- source/int2a.src.orig    2018-03-13 11:13:33.834798697 +0900
+++ source/int2a.src    2018-03-13 11:15:44.787605302 +0900
@@ -1891,13 +1891,13 @@
 C$    END IF
 C
 C$    IF (.NOT.DIRSCF) THEN
-C$      WRITE(IW,96)
+C$      IF(MASWRK) WRITE(IW,96)
 C$      intomp=0
 C$      shfock=.false.
 C$    END IF
 C
 C$    IF (SCFTYP.EQ.GVB) THEN
-C$      WRITE(IW,97)
+C$      IF(MASWRK) WRITE(IW,97)
 C$      intomp=0
 C$      shfock=.false.
 C$    END IF

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))

ビルド手順

#!/bin/csh -f
umask 022
set file_gamess=/home/users/${USER}/build/gamess2018Feb14/gamess-2018Feb14.tar.gz
set file_gmsnboi8a=/home/users/${USER}/build/gamess2018Feb14/gmsnbo.i8.a
set file_pbsremsh=/home/users/${USER}/build/gamess2018Feb14/pbs_remsh
set work=/work/users/${USER}
set gamess=gamess2018Feb14
set prefix=/local/apl/lx/$gamess
set patch_int2a=/home/users/${USER}/build/$gamess/int2a.patch
set patch_exam43=/home/users/${USER}/build/$gamess/exam43.patch
set patch_rungms=/home/users/${USER}/build/$gamess/cclx/rungms.patch
#----------------------------------------------------------------------------
cd ${work}
if (-d ${gamess}) then
  mv ${gamess} ${gamess}-erase
  rm -rf ${gamess}-erase &
endif
#----------------------------------------------------------------------------
tar xzf ${file_gamess}
mv gamess ${gamess}
cd ${work}/${gamess}
cp $file_pbsremsh .
sed -i -e 's/MAXCPUS=32/MAXCPUS=80/' ddi/compddi
sed -i "s/GMS_OPENMP='false'/GMS_OPENMP='true'/" config
sed -i "s/EFP_OPENMP='false'/EFP_OPENMP='true'/" config
sed -i "s/MAKEFP_OPENMP='false'/MAKEFP_OPENMP='true'/" config
sed -i "s/RIMP2_OPENMP='false'/RIMP2_OPENMP='true'/" config
sed -i "s/EXTRAOPT -warn/EXTRAOPT -xHost -warn/" comp
sed -i "s/ext=log/ext=gamess/" tests/standard/checktst
expect <<EXPECT
spawn ./config
expect "After the new window is open"
send "\r"
expect "please enter your target machine name:"
send "linux64\r"
expect "GAMESS directory?"
send "$prefix\r"
expect "GAMESS build directory?"
send "$prefix\r"
expect "Version?"
send "\r"
expect "Please enter your choice of FORTRAN:"
send "ifort\r"
expect "Version?"
send "17\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 "Do you want to try LIBCCHEM"
send "no\r"
expect eof
EXPECT
#----------------------------------------------------------------------------
cd ${work}/${gamess}/ddi
./compddi
mv ddikick.x ..
cd ${work}/${gamess}
patch -p0 < ${patch_int2a}
patch -p0 < ${patch_exam43}
./compall
sed -i "s/LDOPTS='-i8'/LDOPTS='-static-intel -i8'/" lked
sed -i "s/NBO=false/NBO=true/" lked
set sed_gmsnboi8a=`echo $file_gmsnboi8a | sed 's/\//\\\//g'`
sed -i "s/NBOLIB=.*/NBOLIB=$sed_gmsnboi8a/" lked
./lked
#----------------------------------------------------------------------------
chmod -R o-rwx source object
find . -name "src" | xargs chmod -R o-rwx
#----------------------------------------------------------------------------
patch -p0 < ${patch_rungms}
#----------------------------------------------------------------------------
setenv OMP_NUM_THREADS 8
cd tests/standard
../runtest $prefix/rungms 00 1
./checktst   # All tests are OK.
setenv OMP_NUM_THREADS 4
../runtest $prefix/rungms 00 8
./checktst   # FAILED but OK: exam05, 32, 39, 42, 45, 46, 47
ipcrm -a