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

Pardiso problem (maybe linking?)

hemocue
Beginner
670 Views
Hi all,
I am trying to compile a code from my advisor's previous student, but I cannot get it done.
Here is a part of the code that cause the error:
#ifdef AIX
#define F77_FUNC(func) func
#else
#define F77_FUNC(func) func ## _
#endif
...
extern "C" { int F77_FUNC(pardisoinit) (void *, int *, int *); }
extern "C" { int F77_FUNC(pardiso) (void *, int *, int *, int *, int *, int *, doublecomplex *, int *, int *, int *, int *, int *, int *, doublecomplex *, doublecomplex *, int *); }
...
F77_FUNC(pardisoinit) (pt, &mtype, iparm); <- line 525
And here is the error message I got:
/src/jfem3d.cpp:525: undefined reference to `pardisoinit_'
/src/jfem3d.cpp:633: undefined reference to `pardiso_'
/src/jfem3d.cpp:652: undefined reference to `pardiso_'
/src/jfem3d.cpp:668: undefined reference to `pardiso_'
/src/jfem3d.cpp:690: undefined reference to `pardiso_'
For the last four line, the functions are called just like line 525.
I am compiling it using icpc and linking options as follows:
-lmkl_solver -lmkl_ia32 -lmkl_lapack -lmkl_intel_thread -lmkl_intel -lmkl_core -lguide -lpthread -liomp5
Can anyone explain what I am doing wrong?
This code worked previously, so I guess it is a linking problem, unless higher version of MKL requires different usage.
(The code was working with MKL 10.0.3 which is not available to use right now.)
Thank you for looking.
0 Kudos
3 Replies
dahlberg
Beginner
670 Views
Not in any way an expert, but I see that you have a call to pardisoinit. This subroutine is associated with the University of Basel version of Pardiso and is not supported by the Intel version. What error messages do you get?

Regards,
Carl
0 Kudos
Todd_R_Intel
Employee
670 Views

What version of Intel MKL and the Intel compilers are you using now? If you're using a recent version (Intel Composer XE 2011 or any of its updates) you can use the /Qmkl switch.

BTW, I see pardisoinit in the MKL reference manual.

Todd

0 Kudos
hemocue
Beginner
670 Views
Thank you so much for your replies.
I am using 2011 XE compiler along with 10.0.5 version of MKL.
I will do some research on both topics you guys suggested.
Thanks again!
0 Kudos
Reply