Netlib BLAS is part of Netlib LAPACK (same packaging). No point to keep two

separated targets. Configure option will reflect this as well. More cleaning 
needed toward simplified makefiles


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12939 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
spigafi 2016-09-09 14:27:10 +00:00
parent 43872cf725
commit 7f7807a958
10 changed files with 53 additions and 88 deletions

View File

@ -17,7 +17,7 @@ New in 6.0 version:
with etf_mem true or false.
* EPW: The test-farm now checks 5 representative examples and the associated
accuracy
* Netlib BLAS and LAPACK updated, easy to update going forward
* Netlib LAPACK updated, easy to update going forward
Fixed in 6.0 version:
@ -65,6 +65,9 @@ Incompatible changes in 6.0 version:
* "allocate_fft" no longer calls "data_structure" to compute dimensions
of the various grids: it just allocates FFT arrays
* QE-GPU plugin not compatible with 6.x (new version is WIP)
* Configure options "--with-internal-lapack" & "--with-internal-blas" have
been replaced by a single "--with-netlib". Netlib LAPACK is self-compiled
(and also Netlib BLAS which is packaged with it).
* * * * *

View File

@ -63,19 +63,19 @@ default :
# If "|| exit 1" is not present, the error code from make in subdirectories
# is not returned and make goes on even if compilation has failed
pw : bindir libfft libla mods liblapack libblas libs libiotk
pw : bindir libfft libla mods liblapack libs libiotk
if test -d PW ; then \
( cd PW ; $(MAKE) TLDEPS= all || exit 1) ; fi
pw-lib : bindir libfft libla mods liblapack libblas libs libiotk
pw-lib : bindir libfft libla mods liblapack libs libiotk
if test -d PW ; then \
( cd PW ; $(MAKE) TLDEPS= pw-lib || exit 1) ; fi
lr-lib : bindir libfft libla mods liblapack libblas libs libiotk
lr-lib : bindir libfft libla mods liblapack libs libiotk
if test -d LR_Modules ; then \
( cd LR_Modules ; $(MAKE) TLDEPS= all || exit 1) ; fi
cp : bindir libfft libla mods liblapack libblas libs libiotk
cp : bindir libfft libla mods liblapack libs libiotk
if test -d CPV ; then \
( cd CPV ; $(MAKE) TLDEPS= all || exit 1) ; fi
@ -110,10 +110,10 @@ gwl : ph
gipaw : pw
( cd install ; $(MAKE) -f plugins_makefile $@ || exit 1 )
ld1 : bindir liblapack libblas libfft libla mods libs
ld1 : bindir liblapack libfft libla mods libs
( cd install ; $(MAKE) -f plugins_makefile $@ || exit 1 )
upf : libfft libla mods libs liblapack libblas
upf : libfft libla mods libs liblapack
if test -d upftools ; then \
( cd upftools ; $(MAKE) TLDEPS= all || exit 1 ) ; fi
@ -182,7 +182,7 @@ libiotk: touch-dummy
# plugins
#########################################################
w90: bindir libblas liblapack
w90: bindir liblapack
( cd install ; $(MAKE) -f plugins_makefile $@ || exit 1 )
want : touch-dummy

Binary file not shown.

21
install/configure vendored
View File

@ -3382,8 +3382,7 @@ case "$arch" in
#
if test "$ifort_version" != ""
then
version=`$mpif90 -V 2>&1 | grep Version |
sed 's/.*Version//' | | cut -d ' ' -f1`
version=`$mpif90 --version 2>&1 | grep "IFORT" | cut -d ' ' -f3`
f90_major_version=`echo $version | cut -d. -f1`
echo "${ECHO_T}ifort $f90_major_version"
f90_in_mpif90="ifort"
@ -9489,12 +9488,12 @@ fi
# (blas_libs is used in the above lapack tests: do not move the following
# settings above lapack tests, which would seem a more logical place)
if test "$have_blas" -eq 0 -o "$use_internal_blas" -eq 1 ; then
blas_libs="$topdir/BLAS/blas.a"
blas_libs_switch="internal"
else
#if test "$have_blas" -eq 0 -o "$use_internal_blas" -eq 1 ; then
# blas_libs="$topdir/BLAS/blas.a"
# blas_libs_switch="internal"
#else
blas_libs_switch="external"
fi
#fi
# Internal BLAS/LAPACK sometimes have to be handled differently...
if test "$extlib_flags" = "" ; then
@ -9518,9 +9517,6 @@ echo setting BLAS_LIBS... $blas_libs
ac_config_files="$ac_config_files install/make_blas.inc"
@ -10083,7 +10079,7 @@ fi
# or internal lapack esplicitly required
if test "$have_lapack" -eq 0 -o "$use_internal_lapack" -eq 1 ; then
lapack_libs="$topdir/LAPACK/liblapack.a"
lapack_libs="$topdir/LAPACK/liblapack.a $topdir/LAPACK/libblas.a"
lapack_libs_switch="internal"
else
if test "$have_essl" -eq 1 -o "$have_atlas" -eq 1 ; then
@ -10091,7 +10087,7 @@ else
# atlas: add missing lapack routines so as to complete atlas
# note that some compilers do not like to have multiple symbols
# OBSOLETE
lapack_libs="$lapack_libs $topdir/LAPACK/liblapack.a"
lapack_libs="$lapack_libs $topdir/LAPACK/liblapack.a $topdir/LAPACK/libblas.a"
lapack_libs_switch="internal"
else
lapack_libs_switch="external"
@ -13299,7 +13295,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"install/make_blas.inc") CONFIG_FILES="$CONFIG_FILES install/make_blas.inc" ;;
"install/make_lapack.inc") CONFIG_FILES="$CONFIG_FILES install/make_lapack.inc" ;;
"include/c_defs.h") CONFIG_HEADERS="$CONFIG_HEADERS include/c_defs.h:include/c_defs.h.in" ;;
"include/fft_defs.h") CONFIG_FILES="$CONFIG_FILES include/fft_defs.h:include/fft_defs.h.in" ;;

View File

@ -11,12 +11,12 @@
include ../make.inc
include install_utils
#.NOTPARALLEL: liblapack_internal libblas_internal
#.NOTPARALLEL: liblapack_internal
# NETLIB targets
BLAS_NETLIB=blas-3.6.0.tgz
BLAS_NETLIB_NAME=BLAS-3.6.0
BLAS_NETLIB_URL=http://www.netlib.org/blas/${BLAS_NETLIB}
#BLAS_NETLIB=blas-3.6.0.tgz
#BLAS_NETLIB_NAME=BLAS-3.6.0
#BLAS_NETLIB_URL=http://www.netlib.org/blas/${BLAS_NETLIB}
LAPACK_NETLIB=lapack-3.6.1.tgz
LAPACK_NETLIB_NAME=lapack-3.6.1
@ -39,13 +39,13 @@ fake_blas_external :
touch fake_libblas.a
-rm fake_libblas.a
libblas_internal:
$(call download_and_unpack,$(BLAS_NETLIB_NAME),$(BLAS_NETLIB_URL),BLAS,BLAS)
if test -e make_blas.inc; then \
(cp make_blas.inc ../BLAS/make.inc; \
cd ../BLAS; $(MAKE) ); else \
(echo "no configuration file found for blas"; \
echo "run configure from main QE dir"; exit); fi
#libblas_internal:
# $(call download_and_unpack,$(BLAS_NETLIB_NAME),$(BLAS_NETLIB_URL),BLAS,BLAS)
# if test -e make_blas.inc; then \
# (cp make_blas.inc ../BLAS/make.inc; \
# cd ../BLAS; $(MAKE) ); else \
# (echo "no configuration file found for blas"; \
# echo "run configure from main QE dir"; exit); fi
liblapack : liblapack_$(LAPACK_LIBS_SWITCH)
@ -57,11 +57,11 @@ fake_lapack_external :
liblapack_internal:
$(call download_and_unpack,$(LAPACK_NETLIB_NAME),$(LAPACK_NETLIB_URL),LAPACK,LAPACK)
if test -e make_lapack.inc; then \
(cp make_lapack.inc ../LAPACK/make.inc; \
cd ../LAPACK; $(MAKE) lapacklib); else \
if test ! -e ../LAPACK/liblapack.a && test -e make_lapack.inc; then \
(cp make_lapack.inc ../LAPACK/make.inc; \
cd ../LAPACK; $(MAKE) blaslib lapacklib); else \
(echo "no configuration file found for lapack"; \
echo "run configure from main QE dir"; exit); fi
echo "run configure from main QE dir"; exit); fi
libiotk:
if test ! -d ../S3DE; then \
@ -95,10 +95,10 @@ libelpa_enabled:
# cleaning
###################################
# each lib independently
blas_clean:
if test -d ../BLAS; then (cd ../BLAS; $(MAKE) clean); fi
blas_veryclean:
if test -d ../BLAS; then (rm -R -f ../BLAS ../${BLAS_NETLIB_NAME}); fi
#blas_clean:
# if test -d ../BLAS; then (cd ../BLAS; $(MAKE) clean); fi
#blas_veryclean:
# if test -d ../BLAS; then (rm -R -f ../BLAS ../${BLAS_NETLIB_NAME}); fi
lapack_clean:
if test -d ../LAPACK; then (cd ../LAPACK; $(MAKE) clean); fi
lapack_veryclean:
@ -125,5 +125,7 @@ iotk_veryclean:
rm -f ../iotk
# general cleaning
clean: blas_clean lapack_clean elpa_clean iotk_clean
veryclean: blas_veryclean lapack_veryclean elpa_veryclean iotk_veryclean
#clean: blas_clean lapack_clean elpa_clean iotk_clean
#veryclean: blas_veryclean lapack_veryclean elpa_veryclean iotk_veryclean
clean: lapack_clean elpa_clean iotk_clean
veryclean: lapack_veryclean elpa_veryclean iotk_veryclean

View File

@ -592,12 +592,12 @@ fi
# (blas_libs is used in the above lapack tests: do not move the following
# settings above lapack tests, which would seem a more logical place)
if test "$have_blas" -eq 0 -o "$use_internal_blas" -eq 1 ; then
blas_libs="$topdir/BLAS/blas.a"
blas_libs_switch="internal"
else
#if test "$have_blas" -eq 0 -o "$use_internal_blas" -eq 1 ; then
# blas_libs="$topdir/BLAS/blas.a"
# blas_libs_switch="internal"
#else
blas_libs_switch="external"
fi
#fi
# Internal BLAS/LAPACK sometimes have to be handled differently...
if test "$extlib_flags" = "" ; then
@ -621,7 +621,5 @@ AC_SUBST(blas_libs)
AC_SUBST(blas_libs_switch)
AC_SUBST(blas_line)
AC_CONFIG_FILES(install/make_blas.inc)
]
)

View File

@ -141,7 +141,7 @@ fi
# or internal lapack esplicitly required
if test "$have_lapack" -eq 0 -o "$use_internal_lapack" -eq 1 ; then
lapack_libs="$topdir/LAPACK/liblapack.a"
lapack_libs="$topdir/LAPACK/liblapack.a $topdir/LAPACK/libblas.a"
lapack_libs_switch="internal"
else
if test "$have_essl" -eq 1 -o "$have_atlas" -eq 1 ; then
@ -149,7 +149,7 @@ else
# atlas: add missing lapack routines so as to complete atlas
# note that some compilers do not like to have multiple symbols
# OBSOLETE
lapack_libs="$lapack_libs $topdir/LAPACK/liblapack.a"
lapack_libs="$lapack_libs $topdir/LAPACK/liblapack.a $topdir/LAPACK/libblas.a"
lapack_libs_switch="internal"
else
lapack_libs_switch="external"

View File

@ -1,34 +0,0 @@
####################################################################
# BLAS make include file. #
# March 2007 #
####################################################################
#
SHELL = /bin/sh
#
# The machine (platform) identifier to append to the library names
#
PLAT =
#
# Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT
# refers to the compiler options desired when NO OPTIMIZATION is
# selected. Define LOADER and LOADOPTS to refer to the loader and
# desired load options for your machine.
#
FORTRAN = @f77@
OPTS = @extlib_flags@
DRVOPTS = $(OPTS)
NOOPT = @extlib_flags@
LOADER = @f77@
LOADOPTS = @extlib_flags@
#
# The archiver and the flag(s) to use when building archive (library)
# If you system has no ranlib, set RANLIB = echo.
#
ARCH = @ar@
ARCHFLAGS= @arflags@
RANLIB = @ranlib@
#
# The location and name of the Reference BLAS library.
#
BLASLIB = blas$(PLAT).a

View File

@ -16,11 +16,11 @@ SHELL = /bin/sh
# and handle these quantities appropriately. As a consequence, one
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
#
FORTRAN = @f77@
FORTRAN = @f90@
OPTS = @fflags@
DRVOPTS = $(OPTS)
NOOPT = @fflags_noopt@
LOADER = @ld@
LOADER = @f90@
LOADOPTS = @ldflags@
#
# Comment out the following line to include deprecated routines to the

View File

@ -13,7 +13,8 @@ include plugins_list
include install_utils
# MAIN target
EXTLIBS=liblapack libblas libiotk
#EXTLIBS=liblapack libblas libiotk
EXTLIBS=liblapack libiotk
###########################################################
# LD1