On Thu, Mar 26, 2015 at 5:10 PM, David Knezevic <[email protected]> wrote:
> On Thu, Mar 26, 2015 at 4:21 PM, Matthew Knepley <[email protected]> > wrote: > >> On Thu, Mar 26, 2015 at 1:48 PM, David Knezevic < >> [email protected]> wrote: >> >>> Hi all, >>> >>> I'm trying to configure PETSc using Intel's MKL and with --download-ml. >>> Here is my configure line: >>> >>> ./configure >>> --with-blas-lapack-dir=/opt/intel/composer_xe_2015/mkl/lib/intel64 >>> --download-ml >>> >>> I get an error when ML does "checking for dgemm". The configure.log is >>> attached. I was wondering if anyone has any suggestions about how I can get >>> this to work? >>> >> >> We will need $PETSC_ARCH/externalpackages/ml-*/config.log to see where >> their test failed. >> > > > I've attached this file. > I do not understand the error: configure:10865: mpicxx -o conftest -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g -O0 -fPIC -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -g -O2 -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi conftest.cpp -Wl,-rpath,/opt/intel/composer_xe_2015/mkl/lib/intel64 -L/opt/intel/composer_xe_2015/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -Wl,-rpath,/usr/lib/openmpi/lib -L/usr/lib/openmpi/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -lmpi_f90 -lmpi_f77 -lgfortran -lm -Wl,-rpath,/usr/lib/openmpi/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.8 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -lgfortran -lm -lquadmath -lm -L/usr//lib -L/usr/lib/openmpi/lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. -lmpi_f90 -lmpi_f77 -lmpi -ldl -lhwloc -lgfortran -lm -lquadmath -lpthread >&5 /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `logf' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `atan2' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `sin' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `fabs' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `exp' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `cos' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `sqrt' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_intel_lp64.so: undefined reference to `log' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `pow' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `log10' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `ceil' /opt/intel/composer_xe_2015/mkl/lib/intel64/libmkl_core.so: undefined reference to `expf' collect2: error: ld returned 1 exit status Clearly these symbols should be in -lm, which is in the link line, and it linked when we tried in our configure. Can you run this link line manually and figure out what is wrong? > > >> However, MKL is almost never worth it. >> >> > OK, interesting, why not? The reason I'm using MKL in this case is because > I found that the direct solvers MUMPS and SuperLU were surprising slow on a > Haswell server. After rebuilding PETSc with MKL, these solvers were more > than 3x faster in some cases. > Yes, direct solvers use BLAS2/3 and can benefit, but then I would just build GotoBLAS or something easy rather than the crazy hell that is MKL. Thanks, Matt > David > > > > > -- 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
