- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Intel MKL PARDISO and Pardiso ( since v.5.0) are API not compatible and you cannot use Intel MKL in that case.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
please do not ask how
Comment from mecej4: This means it is really hard.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page