- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
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.
Lien copié
3 Réponses
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
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
Regards,
Carl
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
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
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
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!
Répondre
Options du sujet
- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Placer ce Sujet en tête de liste pour l'utilisateur actuel
- Marquer
- S'abonner
- Page imprimable