Re: [petsc-dev] PETSc release soon, request for input on needed fixes or enhancements
This build is using gnu compilers with MKL. And PETSc configure doesn't guess compiler shortcuts like -mlk [or -framework Veclib] type options.. Satish On Sun, 28 Feb 2016, Jeff Hammond wrote:
On Sunday, February 28, 2016, Matthew Knepley <[email protected]> wrote:
On Sun, Feb 28, 2016 at 3:12 PM, Barry Smith <[email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
Satish,
Yeah, hypre totally botched its implementation of a way to check for the blas/lapack libraries. I've iterated with them several times on the basic problem but they keep patching what they do, rather then discard all their incorrect code and handle it simply as they should.
I'm sure it would have worked if they had used CMake ;)
Intel compilers need only "-mkl" unless you want threaded ScaLAPACK. Works for both shared and static linking.
I haven't tried but does "-lmkl" (plus appropriate LD_LIBRARY_PATH) not work with shared linking?
As far as I know, static linking of MKL with non-Intel compiler is the only hard case for build systems.
Obviously, CMake and C++11 are the only way to solve this problem :-D
Jeff
Matt
Barry
On Feb 28, 2016, at 3:00 PM, Satish Balay <[email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
Executing: cd /pmi/cmpbib/compilation_BIB_gcc_redhat_petsc-master_debug/COMPILE_AUTO/petsc-master-debug/arch-linux2-c-debug/externalpackages/git.hypre/src && ./configure --prefix=/opt/petsc-master_debug MAKE=/bin/gmake --libdir=/opt/petsc-master_debug/lib CC="/opt/openmpi-1.10.2/bin/mpicc" CFLAGS="-fPIC -g3" CXX="/opt/openmpi-1.10.2/bin/mpicxx" CXXFLAGS="-g -fPIC" F90="/opt/openmpi-1.10.2/bin/mpif90" F90FLAGS="-fPIC -ffree-line-length-0 -g" F77="/opt/openmpi-1.10.2/bin/mpif90" FFLAGS="-fPIC -ffree-line-length-0 -g" FC="/opt/openmpi-1.10.2/bin/mpif90" FCFLAGS="-fPIC -ffree-line-length-0 -g" --with-MPI-include="/opt/openmpi-1.10.2/include" --with-MPI-lib-dirs="" --with-MPI-libs="" --with-blas-lib="-Wl,-rpath,/opt/intel/composerxe/mkl/lib/intel64 -L/opt/intel/composerxe/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -ldl -lpthread -lm -Wl,-rpath,/opt/openmpi-1.10.2/lib -L/opt/openmpi-1.10.2/lib -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/compiler/lib/intel64 -L/opt/intel/composer_xe_2015.2.164/compiler/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/ipp/lib/intel64 -L/opt/intel/composer_xe_2015.2.164/ipp/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/mkl/lib/intel64 -L/opt/intel/composer_xe_2015.2.164/mkl/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.4 -L/opt/intel/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.4 -lmpi_usempi -lmpi_mpifh -lgfortran -lm -Wl,-rpath,/opt/openmpi-1.10.2/lib -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/compiler/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/ipp/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/mkl/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.4 -lgfortran -lm -lquadmath -lm" --with-lapack-lib=" " --with-blas=no --with-lapack=no --with-fmangle-blas=one-underscore --with-fmangle-lapack=one-underscore --without-mli --without-fei --without-superlu AR="/bin/ar cr"
checking for dgemm_ in -lm... no checking for dgemm_ in -lquadmath... no checking for dgemm_ in -lm... (cached) no checking for dgemm_ in -lgfortran... no checking for dgemm_ in -linux/4.8.5... no checking for dgemm_ in -lm... (cached) no checking for dgemm_ in -lgfortran... (cached) no checking for dgemm_ in -lmpi_mpifh... no checking for dgemm_ in -lmpi_usempi... no checking for dgemm_ in -linux/4.8.5... (cached) no checking for dgemm_ in -lm... (cached) no checking for dgemm_ in -lpthread... no checking for dgemm_ in -ldl... no checking for dgemm_ in -liomp5... no checking for dgemm_ in -lmkl_intel_thread... no checking for dgemm_ in -lmkl_core... no checking for dgemm_ in -lmkl_intel_lp64... noconfigure: error: **************** Non-linkable blas library error:
User set BLAS library path using either --with-blas-lib=<lib>, or --with-blas-libs=<blas_lib_base_name> and
--with-blas_dirs=<path-to-blas-lib>,
but -L/opt/intel/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.4
-L/opt/intel/composer_xe_2015.2.164/mkl/lib/intel64 -L/opt/intel/composer_xe_2015.2.164/ipp/lib/intel64 -L/opt/intel/composer_xe_2015.2.164/compiler/lib/intel64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/opt/openmpi-1.10.2/lib -L/opt/intel/composerxe/mkl/lib/intel64 -lm -lquadmath -lm -lgfortran -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.4 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/mkl/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/ipp/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/compiler/lib/intel64 -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -Wl,-rpath,/opt/openmpi-1.10.2/lib -lm -lgfortran -lmpi_mpifh -lmpi_usempi -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/tbb/lib/intel64/gcc4.4 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/mkl/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/ipp/lib/intel64 -Wl,-rpath,/opt/intel/composer_xe_2015.2.164/compiler/lib/intel64 -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -Wl,-rpath,/opt/openmpi-1.10.2/lib -lm -lpthread -ldl -liomp5 -lmkl_intel_thread -lmkl_core -lmkl_intel_lp64 -Wl,-rpath,/opt/intel/composerxe/mkl/lib/intel64 provided cannot be used. See "configure --help" for usage details.
*****************************************************************************************
*******************************************************************************
Hm - instead of using all the libs from --with-blas-libs in a single link command - hypre is checking one '-llibrary' form this list at a time? [including -linux/4.8.5 which is from a -L option]
'-lm -lpthread -ldl -liomp5 -lmkl_intel_thread -lmkl_core
-lmkl_intel_lp64' ?
Is hypre configure reversing the arguments it got? Its changed from
--with-blas-lib='... -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread
-liomp5 -ldl -lpthread -lm ...'
I can reproduce this issue locally with:
./configure --download-hypre PETSC_ARCH=arch-hypre
--with-blas-lapack-dir=/soft/com/packages/intel/15/update3/mkl --with-sowing=0
Satish
On Sun, 28 Feb 2016, Eric Chamberland wrote:
Hi Barry,
the configuration of hypre looks broken since last night...?
Here is the log issued from our automatic compilation of
petsc-master.tar.gz
at 2016-02-28 02h00:
http://www.giref.ulaval.ca/~cmpgiref/petsc-master-debug/configure_20160228_0...
Everything was fine until last night...
Thanks,
Eric
Le 2016-02-27 15:36, Barry Smith a écrit :
PETSc Users,
We are planning the PETSc release 3.7 shortly. If you know of any
bugs
that need to be fixed or enhancements added before the release
please
let us know.
You can think of the master branch of the PETSc repository
obtainable
with
git clone https://bitbucket.org/petsc/petsc petsc
as a release candidate for 3.7. Changes for the release are listed at http://www.mcs.anl.gov/petsc/documentation/changes/dev.html
Thanks
Barry
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
participants (1)
-
Satish Balay