[petsc-users] Error configuring with --download-ml and Intel MKL

Matthew Knepley knepley at gmail.com
Thu Mar 26 17:23:24 CDT 2015


On Thu, Mar 26, 2015 at 5:10 PM, David Knezevic <david.knezevic at akselos.com>
wrote:

> On Thu, Mar 26, 2015 at 4:21 PM, Matthew Knepley <knepley at gmail.com>
> wrote:
>
>> On Thu, Mar 26, 2015 at 1:48 PM, David Knezevic <
>> david.knezevic at akselos.com> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150326/7b6fc2f5/attachment.html>


More information about the petsc-users mailing list