Merge pull request #690 from edoapra/tblite-intel

Tblite  and blas/scalapack fixes
This commit is contained in:
Edoardo Aprà 2022-11-10 18:50:12 -08:00 committed by GitHub
commit f4002caf10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 62 additions and 25 deletions

View file

@ -292,9 +292,6 @@ ifdef BUILD_SCALAPACK
$(error )
endif
ifndef SCALAPACK_SIZE
SCALAPACK_SIZE=8
endif
SCALAPACK=-L$(NWCHEM_TOP)/src/libext/lib -lnwc_scalapack
endif
@ -2456,12 +2453,12 @@ ifneq ($(TARGET),LINUX)
#
ifeq ($(_IFCV15ORNEWER), Y)
IFORTVER=$(shell ifort -v 2>&1|cut -d " " -f 3)
ifeq ($(IFORTVER),2021.7.0)
$(info )
$(info ifort 2021.7.0 not validated)
$(info )
$(error )
endif
# ifeq ($(IFORTVER),2021.7.0)
# $(info )
# $(info ifort 2021.7.0 not validated)
# $(info )
# $(error )
# endif
# fpp seems to get lost with ifort 15 in the offload bit
# only use EXPLICITF for offload because otherwise we want debugging to be easy
# FOPTIONS += -Qoption,fpp,-P -Qoption,fpp,-c_com=no -allow nofpp_comments
@ -3884,8 +3881,24 @@ ifeq ($(shell echo $(BLASOPT) |awk '/lblas/ {print "Y"; exit}'),Y)
DEFINES += -DBLAS_NOTHREADS
endif
ifndef BLAS_SIZE
LIB_DEFINES += -DUSE_INTEGER8
ifneq ($(or $(SCALAPACK),$(SCALAPACK_LIB)),)
ifndef SCALAPACK_SIZE
$(info )
$(info You must set)
$(info SCALAPACK_SIZE)
$(info )
$(error )
endif
endif
ifneq ($(or $(BLASOPT),$(BLAS_LIB)),)
ifndef BLAS_SIZE
$(info )
$(info You must set)
$(info BLAS_SIZE)
$(info see https://nwchemgit.github.io/Compiling-NWChem.html#how-to-deal-with-integer-size-of-linear-algebra-libraries)
$(info )
$(error )
endif
endif
ifeq ($(BLAS_SIZE),8)
LIB_DEFINES += -DUSE_INTEGER8

View file

@ -6,7 +6,7 @@
include ../../config/makefile.h
install/lib/libxc.a:
./build_libxc.sh
./build_libxc.sh $(LIBXC_VERSION)
LIB_TARGETS += libxc

View file

@ -7,8 +7,19 @@ check_tgz() {
[ -f $1 ] && gunzip -t $1 > /dev/null && myexit=1
echo $myexit
}
VERSION=6.0.0
if [ $# -eq 0 ]; then
VERSION=6.0.0
else
VERSION=$1
fi
VERSION_MAJOR=$(echo $VERSION | cut -d . -f 1)
if [[ "$VERSION_MAJOR" -lt 4 ]]; then
echo
echo "LIBXC unsupported version " "$VERSION"
echo "please use 4.0.0 and later versions"
echo
exit 1
fi
TGZ=libxc-${VERSION}.tar.gz
if [ `check_tgz $TGZ` == 1 ]; then
echo "using existing $TGZ"
@ -78,7 +89,7 @@ fi
cd libxc
# patch pk09 to avoid compiler memory problems
patch -p0 -N < ../pk09.patch
#patch -p0 -N < ../pk09.patch
mkdir -p build
cd build
if [[ -z "${NWCHEM_TOP}" ]]; then

View file

@ -21,11 +21,11 @@ if [ `check_tgz $TGZ` == 1 ]; then
echo "using existing $TGZ"
else
rm -rf tblite*
curl -L https://github.com/dmejiar/tblite/tarball/${VERSION} -o $TGZ
curl -sS -L https://github.com/dmejiar/tblite/tarball/${VERSION} -o $TGZ
fi
tar -xzf tblite-${VERSION}.tar.gz
ln -sf dmejiar-tblite-??????? tblite
ln -sf *tblite-??????? tblite
if [[ -z "${MPIF90}" ]]; then
@ -202,6 +202,19 @@ if [[ -z "$USE_OPENMP" ]]; then
else
DOOPENMP=ON
fi
# 2022 Intel compilers generate buggy code when USE_OPENMP=1
if [[ ${FC} == ifort ]] || [[ ${FC} == ifx ]]; then
IFORTVER=$(ifort -v 2>&1|cut -d " " -f 3)
IFORTVER_YEAR=$(echo $IFORTVER | cut -d . -f 1)
if [[ "$IFORTVER_YEAR" -gt "2021" ]]; then
DOOPENMP=OFF
fi
if [[ ${FC} -eq "ifx" ]]; then
DOOPENMP=OFF
fi
fi
cd tblite
rm -rf _build

View file

@ -43,10 +43,10 @@ echo DISTR is "$DISTR"
else
mkdir -p ~/mntdmg $IONEAPI_ROOT || true
cd ~/Downloads
dir_base="18675"
dir_hpc="18681"
base="m_BaseKit_p_2022.2.0.226"
hpc="m_HPCKit_p_2022.2.0.158"
dir_base="18971"
dir_hpc="18977"
base="m_BaseKit_p_2022.3.1.17244"
hpc="m_HPCKit_p_2022.3.1.15344"
curl -sS -LJO https://registrationcenter-download.intel.com/akdlm/irc_nas/"$dir_base"/"$base".dmg
curl -sS -LJO https://registrationcenter-download.intel.com/akdlm/irc_nas/"$dir_hpc"/"$hpc".dmg
echo "installing BaseKit"
@ -117,10 +117,10 @@ fi
export TERM=dumb
rm -f l_Base*sh l_HP*sh
tries=0 ; until [ "$tries" -ge 10 ] ; do \
dir_base="18673"
dir_hpc="18679"
base="l_BaseKit_p_2022.2.0.262"
hpc="l_HPCKit_p_2022.2.0.191"
dir_base="18970"
dir_hpc="18975"
base="l_BaseKit_p_2022.3.1.17310"
hpc="l_HPCKit_p_2022.3.1.16997"
wget -nv https://registrationcenter-download.intel.com/akdlm/irc_nas/"$dir_hpc"/"$hpc".sh \
&& wget -nv https://registrationcenter-download.intel.com/akdlm/irc_nas/"$dir_base"/"$base".sh \
&& break ;\