Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7074 Discussions

Using original PARDISO library with Intel MKL

Ahmadi__Afshin
2,052 Views

Hello!

 

I am trying to integrate the original PARDISO library (v 6.0) with Intel MKL 2019 for performance comparison but I am receiving the following error message upon compilation:

libpardiso600-GNU800-X86-64.so: undefined reference to `log2f@GLIBC_2.27'
libpardiso600-GNU800-X86-64.so: undefined reference to `logf@GLIBC_2.27'

Here is the command line:

icc pardiso_unsym.c -o p.out -LPARDISO  libpardiso600-GNU800-X86-64.so -I$MKLROOT/include -L${MKLROOT}/lib/intel64 -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lm -ldl -lgfortran -fopenmp

 

I am using Linux and the sample file can be downloaded from here: https://www.pardiso-project.org/manual/pardiso_unsym.c

Any idea what could be the issue? I really appreciate any help.

 

Best,

Afshin

0 Kudos
1 Solution
mecej4
Honored Contributor III
2,052 Views

The library libpardiso600-GNU800-X86-64.so is intended for use with Gfortran 8.x, and is not compatible with Intel Fortran compiled object files. The two Fortran compilers use their own Fortran run time libraries, and without special effort (please do not ask how) it is not possible to link object files compiled with two different compilers, or even with two versions of the same compiler.

You can ask the developer of Pardiso 6 for an Ifort-compatible library, or you can instead use the version of Pardiso that is part of MKL with the Intel compiler. If you use the second option, as Gennady F. pointed out already, you should note that the argument lists of the MKL/Pardiso and the Lugano/Basel-Pardiso are slightly different.

View solution in original post

0 Kudos
4 Replies
Gennady_F_Intel
Moderator
2,052 Views

Intel MKL PARDISO and Pardiso ( since v.5.0) are API not compatible and you cannot use Intel MKL in that case.

0 Kudos
mecej4
Honored Contributor III
2,053 Views

The library libpardiso600-GNU800-X86-64.so is intended for use with Gfortran 8.x, and is not compatible with Intel Fortran compiled object files. The two Fortran compilers use their own Fortran run time libraries, and without special effort (please do not ask how) it is not possible to link object files compiled with two different compilers, or even with two versions of the same compiler.

You can ask the developer of Pardiso 6 for an Ifort-compatible library, or you can instead use the version of Pardiso that is part of MKL with the Intel compiler. If you use the second option, as Gennady F. pointed out already, you should note that the argument lists of the MKL/Pardiso and the Lugano/Basel-Pardiso are slightly different.

0 Kudos
JohnNichols
Valued Contributor III
2,052 Views

please do not ask how

Comment from mecej4:  This means it is really hard. 

0 Kudos
Kirill_V_Intel
Employee
2,052 Views

Hello Afshin!

If you just want to compare performance between two solvers you don't need to link one with another, just create two separate examples with each of the solvers. 

Best,
Kirill

 

0 Kudos
Reply