NWChem 7.0.2
Webpage
Version
7.0.2
Build Environment
- Intel oneAPI Compiler Classic 2022.2.1
- Intel MKL 2022.2.1
- HPC-X 2.11
Files Required
- nwchem-7.0.2-release.revision-b9985dfa-src.2020-10-12.tar.bz2
- runtest.md.mpi
#!/bin/sh
./runtests.mpi.unix procs 2 \
na_k/nak \
na_k/nak_md \
crown/crown_md \
ethanol/ethanol_md \
ethanol/ethanol_ti \
had/had_em \
had/had_md \
prep/a3n \
prep/aal \
prep/fsc \
water/water_md
Build Procedure
#!/bin/sh
VERSION=7.0.2
INSTALL_PREFIX=/apl/nwchem/7.0.2
BASEDIR=/home/users/${USER}/Software/NWChem/7.0.2
TARBALL=${BASEDIR}/nwchem-7.0.2-release.revision-b9985dfa-src.2020-10-12.tar.bz2
WORKDIR=/gwork/users/${USER}
RUNTESTMD=runtest.md.mpi
RUNTESTMD_PATH=${BASEDIR}/${RUNTESTMD}
#---------------------------------------------------------------------
umask 0022
export LANG=C
ulimit -s unlimited
module purge
. ~/intel/oneapi/compiler/2022.2.1/env/vars.sh
module load mkl/2022.2.1
module load openmpi/4.1.4-hpcx/intel2022.2.1
cd ${WORKDIR}
if [ -d nwchem-${VERSION} ]; then
mv nwchem-${VERSION} nwchem-erase
rm -rf nwchem-erase &
fi
tar jxf ${TARBALL}
export NWCHEM_TOP=${WORKDIR}/nwchem-${VERSION}
export NWCHEM_MODULES="all python"
export NWCHEM_TARGET=LINUX64
export ARMCI_NETWORK=MPI-PR
export USE_OPENMP=y
export USE_MPI=y
export USE_MPIF=y
export USE_MPIF4=y
export USE_NOFSCHECK=TRUE
export USE_NOIO=TRUE
export MRCC_METHODS=TRUE
export CCSDTQ=TRUE
export LIB_DEFINES=-DDFLT_TOT_MEM=180000000
export PYTHONVERSION=3.6
export BLAS_SIZE=8
export BLASOPT="-L${MKLROOT}/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl"
export LAPACK_SIZE=8
export LAPACK_LIB="${BLASOPT}"
export USE_SCALAPACK=y
export SCALAPACK_SIZE=8
export SCALAPACK="-L${MKLROOT}/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_blacs_openmpi_ilp64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl"
export CC=icc
export FC=ifort
cd ${NWCHEM_TOP}/src
# cheat
mkdir ../bin
ln -s /usr/libexec/platform-python3.6-config ../bin/python3.6-config
export PATH="${PATH}:${NWCHEM_TOP}/bin"
make nwchem_config
make
# involve also version info
cd ${NWCHEM_TOP}/src/util
make version
make
cd ${NWCHEM_TOP}/src
make link
cd ${NWCHEM_TOP}
# installation; assume INSTALL_PREFIX directory already exists
cp -fr LICENSE.TXT README.md release.notes.* examples ${INSTALL_PREFIX}
mkdir ${INSTALL_PREFIX}/bin
mkdir ${INSTALL_PREFIX}/data
cp -f ${NWCHEM_TOP}/bin/${NWCHEM_TARGET}/nwchem ${INSTALL_PREFIX}/bin
chmod 755 ${INSTALL_PREFIX}/bin/nwchem
cp -fr ${NWCHEM_TOP}/src/data ${INSTALL_PREFIX}
cp -fr ${NWCHEM_TOP}/src/basis/libraries ${INSTALL_PREFIX}/data
cp -fr ${NWCHEM_TOP}/src/nwpw/libraryps ${INSTALL_PREFIX}/data
# create default.nwchemrc
cat << EOS > ${INSTALL_PREFIX}/default.nwchemrc
nwchem_basis_library ${INSTALL_PREFIX}/data/libraries/
nwchem_nwpw_library ${INSTALL_PREFIX}/data/libraryps/
ffield amber
amber_1 ${INSTALL_PREFIX}/data/amber_s/
amber_2 ${INSTALL_PREFIX}/data/amber_q/
amber_3 ${INSTALL_PREFIX}/data/amber_x/
amber_4 ${INSTALL_PREFIX}/data/amber_u/
spce ${INSTALL_PREFIX}/data/solvents/spce.rst
charmm_s ${INSTALL_PREFIX}/data/charmm_s/
charmm_x ${INSTALL_PREFIX}/data/charmm_x/
EOS
# run test
export NWCHEM_EXECUTABLE=${INSTALL_PREFIX}/bin/nwchem
export OMP_NUM_THREADS=1
# some tests need this...
cp -f ${INSTALL_PREFIX}/default.nwchemrc ~/.nwchemrc
cd ${NWCHEM_TOP}/QA
./doqmtests.mpi 2 >& doqmtests.mpi.log
cp -f ${RUNTESTMD_PATH} .
sh ${RUNTESTMD} >& runtest.md.mpi.log
mkdir ${INSTALL_PREFIX}/testlog
cp -fr doqmtests.mpi.log runtest.md.mpi.log testoutputs/ ${INSTALL_PREFIX}/testlog
Notes
- In case export ARMCI_NETWORK=OPENIB was used, calculations failed when large number of MPI processes were employed. MPI-PR version is free from this issue.