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

Problems using /Qmkl flag

michel_lestrade
Beginner
361 Views

Hi,

We have been testing a few linear solvers and are at a point when we want to include several of them into the same project. We want our end user to be able to switch between the different solvers since one may outperform the other in certain cases. This causes some problems during the linking.

Some of my colleagues ported MUMPS (mumps.enseeiht.fr) to Windows using the Intel toolset and the following .lib files in their makefile:

lib_intel= mkl_intel_c.lib mkl_lapack95.lib libguide.lib mkl_core.lib mkl_intel_thread.lib mkl_solver.lib mkl_scalapack_core.lib

On the other hand, I was using PARDISO from the MKL and the /Qmkl flag to take of everything. This greatly simplified the linking.

Now that we want to include both MUMPS and PARDISO, the /Qmkl flag and the additional .lib files seem to conflict. I am assuming that this is because /Qmkl is already including some .lib files but I am unsure on how to resolve the conflict.

Any suggestions ? I found the MKL link advisor suggested in the stickies but it doesn't seem to help in this case. Is there any way we can see which libraries are actually being added by /Qmkl ?

0 Kudos
3 Replies
Gennady_F_Intel
Moderator
361 Views
Michel,it should be stated into compiler User and Reference Guide. Gennady
0 Kudos
Gennady_F_Intel
Moderator
361 Views

Michel, should make one remark -some interface libraries (i.e mkl_lapack95.lib mkl_blas95.lib fftw3xc_ms) are not MKL standard library, so the "one button" integration don't support it.

--Gennady

0 Kudos
Ying_H_Intel
Employee
361 Views

Hello Michel,

Could you tell What is the conflict error messagelike?

/Qmkl:parallel= "mkl_solver.lib mkl_intel_c.libmkl_intel_thread.lib mkl_core.lib libiomp5md" + set environment path.

/Qmkl:cluster, there isa typo error in it. The current version is not usable.

But it should be = mkl_solver.lib mkl_intel_c.libmkl_cdft_core.lib mkl_scalapack_core.libmkl_blacs_intelmpi.libmkl_intel_thread.lib mkl_core.lib libiomp5md"

In general, link these mkl library and use /Qmkl have same effect. Just guess, according to your discription, is the confictbetween libiomp5md.lib and libguide.lib?

Here is one discussionabout the topic http://software.intel.com/en-us/articles/omp-error-15-initializing-libguide40dll-but-found-libiomp5mddll-already-initialized/

Regards,

Ying

0 Kudos
Reply