PSI4 1.7

Webpage

https://psicode.org/

Version

1.7

Build Environment

  • Intel oneAPI Compiler Classic 2022.2.1
  • Intel MKL 2022.2.1
  • boost 1.81.0
  • (Python 3.10.8 (miniforge3))

Files Required

  • psi4.tar.gz
    • manually archived directory after git checkout refs/tags/v1.7
  • libint-2.7.2.tar.gz
  • (some of files are downloaded in the procedure below)
  • (CheMPS2 was obtained by git command)

Build Procedure

conda environment (miniforge)

Lost detailed procedure. Basically the same procedure as 1.5 case, while scipy is additionally installed and rdkit is not installed. (according to the memo)

CheMPS2

Lost detailed procedure. Basically the same procedure as 1.5 case using Intel Compilers and MKL. (according to the memo)

libint-2.7.2 (brief summary)

$ . ~/intel/oneapi/compiler/2022.2.1/env/vars.sh
$ module load boost/1.81.0
$ tar zxf libint-2.7.2.tar.gz
$ ./autogen.sh
$ CXX=icpc CC=icc ./configure \
    --with-cartgauss-ordering=standard \
    --with-shgauss-ordering=gaussian \
    --with-shell-set=standard \
    --enable-1body=2 \
    --with-max-am=7,7,5 \
    --enable-eri=2 \
    --enable-eri2=2 \
    --enable-eri3=2 \
    --with-eri-max-am=7,7,4 \
    --with-eri2-max-am=7,7,5 \
    --with-eri3-max-am=7,7,5 \
    --disable-eri2-pure-sh \
    --disable-eri3-pure-sh
$ make -j36 export

(Copy generated libint-2.7.2.tgz to another location.)

$ tar zxf libint-2.7.2.tgz
$ . /apl/psi4/1.7/conda_init.sh
$ cd libint-2.7.2/
$ CXX=icpc CC=icc cmake \
    -DPYTHON_EXECUTABLE=$(which python3) \
    -DCMAKE_INSTALL_PREFIX=/apl/psi4/1.7/libint-2.7.2 \
    -DLIBINT2_PYTHON=ON \
    -DBoost_INCLUDE_DIR=/apl/boost/1.81.0/include \
    -DLIBINT2_SHGAUSS_ORDERING=gaussian \
    .
$ make -j36
$ make install

psi4

#!/bin/sh

# assume miniforge for psi4 was already installed

VERSION=1.7
INSTALL_PREFIX=/apl/psi4/1.7
CHEMPS2DIR=/apl/psi4/1.7

BASEDIR=/home/users/${USER}/Software/PSI4/1.7
TARBALL=${BASEDIR}/psi4.tar.gz

WORKDIR=/gwork/users/${USER}
PARALLEL=12

#---------------------------------------------------------------------
umask 0022
export LANG=C
ulimit -s unlimited

module -s purge
. ~/intel/oneapi/compiler/2022.2.1/env/vars.sh
module -s load mkl/2022.2.1
module -s boost/1.81.0

cd ${WORKDIR}
if [ -d psi4 ]; then
  mv psi4 psi4-erase
  rm -rf psi4-erase &
fi

# load miniforge3 env
. ${INSTALL_PREFIX}/conda_init.sh

tar zxf ${TARBALL}
cd psi4

sed -i -e "s/xHost/march=core-avx2/" cmake/xhost.cmake

mkdir build
cd build
cmake .. \
    -DENABLE_CheMPS2=ON \
    -DCheMPS2_DIR=${CHEMPS2DIR} \
    -DMAX_AM_ERI=7 \
    -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
    -DCMAKE_PREFIX_PATH="/apl/psi4/1.7/libint-2.7.2" \
    -DLibint2_DIR="/apl/psi4/1.7/libint-2.7.2" \
    -DBUILD_SHARED_LIBS=ON \
    -DCMAKE_CXX_COMPILER=icpc \
    -DCMAKE_C_COMPILER=icc \
    -DCMAKE_Fortran_COMPILER=ifort
make -j ${PARALLEL}

make install

ctest -j${PARALLEL}

Notes

  • All the psi4 tests passed.
  • Automatic build of libint of psi4 does not work. (Errors on Eigen etc.)
    • Built libint-2.7.2 according to the guide in external/upstream/libint2/CMakeLists.txt of PSI4.
    • I'm not sure if this build procedure is really correct. At least all the tests of PSI4 is passed.
    • (Many PSI4 tests output errors when libint was built with other options.)
  • GCC build failed with errors related to OpenMP.