Molpro 2018.2 for LX
Webpage
Version
2018.2
Build Environment
- Intel Parallel Studio 2017 update8
- ifort 17.0.8
- icc 17.0.8
- impi 2017.0.4
- Global Arrays Toolkit 5.7
Files Required
- Molpro2018.2.0.tar.gz
- ga-5.7.tar.gz
- work.patch
--- utilities/molpro.template.orig 2018-12-10 16:29:50.000000000 +0900
+++ utilities/molpro.template 2018-12-10 16:39:13.000000000 +0900
@@ -446,6 +446,12 @@
shift
done
+MOLPRO_OPTIONS="\
+-d/work/users/$USER/ \
+-I/work/users/$USER/ \
+-W/work/users/$USER/wfu \
+$MOLPRO_OPTIONS"
+
if test "x${option_d}" = x ; then
# Now we have to replicate everything inside molpro.exe to try and get the same value of -d that it would
option_d="/tmp"
- token
Build Procedure
#!/bin/sh
GA_VERSION=5.7
MOLPRO_VERSION=2018.2
MOLPRO_DIRNAME=Molpro_release
PARALLEL=12
BASEDIR=/home/users/qf7/Software/Molpro/2018.2.0
MOLPRO_TARBALL=${BASEDIR}/Molpro2018.2.0.tar.gz
PATCH=${BASEDIR}/work.patch
TOKEN=${BASEDIR}/token
WORKDIR=/work/users/${USER}
GA_INSTALLDIR=${WORKDIR}/ga-temporary
INSTALLDIR=/local/apl/lx/molpro${MOLPRO_VERSION}
#------------------------------------------
umask 0022
ulimit -s unlimited
export LANG=
export LC_ALL=C
cd $WORKDIR
if [ -d ga-${GA_VERSION} ]; then
mv ga-${GA_VERSION} ga_tmp
rm -rf ga_tmp &
fi
if [ -d ga-temporary ]; then
mv ga-temporary ga_tmp_tmp
rm -rf ga_tmp_tmp &
fi
if [ -d ${MOLPRO_DIRNAME} ]; then
mv ${MOLPRO_DIRNAME} molpro_tmp
rm -rf molpro_tmp &
fi
module purge
module load scl/devtoolset-3 # gcc 4.9 or later is necessary
# some fixes required for gcc 6 (qexp etc.)
module load intel_parallelstudio/2017update8
tar zxf /home/users/qf7/Software/GlobalArrays/5.7/ga-5.7.tar.gz
cd ga-${GA_VERSION}
export F77=mpiifort
export F90=mpiifort
export FC=mpiifort
export CC=mpiicc
export CXX=mpiicpc
export MPIF77=mpiifort
export MPICC=mpiicc
export MPICXX=mpiicpc
export GA_FOPT="-O3 -ip -w -xHost"
export GA_COPT="-O3 -ip -w -xHost"
export GA_CXXOPT="-O3 -ip -w -xHost"
./configure --with-blas8 \
--enable-i8 \
--prefix=${GA_INSTALLDIR}
make -j ${PARALLEL}
make check
make install
cp config.log ${GA_INSTALLDIR}
cd ../
tar zxf ${MOLPRO_TARBALL}
cd ${MOLPRO_DIRNAME}
patch -p0 < ${PATCH}
export PATH="${GA_INSTALLDIR}/bin:$PATH" # where ga-config exists
CPPFLAGS="-I${GA_INSTALLDIR}/include" \
LDFLAGS="-L${GA_INSTALLDIR}/lib" \
./configure --prefix=${INSTALLDIR} \
--enable-integer8 \
--enable-slater
LD_LIBRARY_PATH_ESC=`echo $LD_LIBRARY_PATH | sed -e 's/\//\\\\\//g'`
sed -i -e "s/^VERBOSE.*$/VERBOSE=/" \
-e "s/^LD_ENV=.*$/LD_ENV=$LD_LIBRARY_PATH_ESC/" CONFIG
unset LD_LIBRARY_PATH_ESC
make -j ${PARALLEL}
cp $TOKEN lib/.token
make tuning
MOLPRO_OPTIONS=-n2 make quicktest
MOLPRO_OPTIONS=-n2 make test
# failed tests
# hamiltonian.test loc_eom3.test
#make install # do it manually
Test
- The following two tests yield errors. The official binary package also has the same problem. Results from our build and official binary are consistent.
- hamiltonian.test: returns error upon finishing the job. Output values seem to be OK.
- loc_eom3.test: numerical error happens.
Note
- Intel MPI version is more stable than Open MPI version in terms of number of failed tests.
- Open MPI version failed on some more tests, and some errors happen upon finishing the job. In most cases, the outputted values (energies) are correct, though.