Molpro 2019.2.3 for LX
Webpage
Version
2019.2.3
Build Environment
- Intel Parallel Studio 2017 update8
- ifort 17.0.8
- icc 17.0.8
- mkl 2017.0.4
- impi 2017.0.4
- GCC 4.9.2 (Software Collections devtoolset-3)
- Global Arrays Toolkit 5.7
Files Required
- Molpro_release.tar.gz (downloaded "Molpro_release" was archived with tar and gzip.)
- 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=2019.2.3
MOLPRO_DIRNAME=Molpro_release
PARALLEL=12
BASEDIR=/home/users/${USER}/Software/Molpro/2019.2.3
MOLPRO_TARBALL=${BASEDIR}/${MOLPRO_DIRNAME}.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
export OMP_NUM_THREADS=1
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
module load intel_parallelstudio/2017update8
tar zxf /home/users/${USER}/Software/GlobalArrays/${GA_VERSION}/ga-${GA_VERSION}.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: loc_eom3.test
#make install # do it manually
The final "make install" was done manually.
Tests
- loc_eom3: numerical error, same as pervious versions.
- all the tests using PNO_RCCSD/PNO_UCCSD (methods not mentioned in manual)
- form_pnoccsd, gly2_pnorccsd, gly2_pnorccsd_multinode, h2odim_pno_singdom, h2odim_pnorccsd
Notes
- Default scratch/wfu output directory is set to /work/users/$USER by the work.patch.
- Notice: this patch was NOT applied for the previous version (2019.1.2) due to the mistake. Sorry.
- Distance unit "ANGS" becomes available again.
- We also tried to build with intel2019. However, no clear performance improvements were found in this build. Moreover, some of tests were failed additionally (all of them were PNO- related tests).
- (Intel MPI 2019 was not used in this trial, since some strange errors were observed in GA and molpro tests. We employed intel2019 (compiler) + mkl2019 + impi 2018) instead.
- We also tried with intel2018u4, but failed to build molpro.