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

Linking both ipp and MKL causes problems

erling_andersen
New Contributor I
647 Views
I get linking issues of the form
ippsmt.lib(pscopye9as_l9.obj) : error LNK2005: l9_ownsSet_32s_E9 already defined in mkl_core.lib(pscopye9as_l9_20121126.obj)

with Intel C 14.0.1 on Windows x64. I am linking with the libraries

ippcoremt.lib ippdcmt.lib mkl_core.lib ippvmmt.lib mkl_sequential.lib mkl_intel_lp64.lib ippsmt.lib
Any clue to what is wrong?

 

0 Kudos
10 Replies
erling_andersen
New Contributor I
647 Views

Now with a readable formatting.

I get linking issues of the form 
   
       ippsmt.lib(pscopye9as_l9.obj) : error LNK2005: l9_ownsSet_32s_E9 already defined in mkl_core.lib(pscopye9as_l9_20121126.obj) 

with Intel C 14.0.1 on Windows x64. 

I am linking with the libraries 

       ippcoremt.lib ippdcmt.lib mkl_core.lib ippvmmt.lib mkl_sequential.lib mkl_intel_lp64.lib ippsmt.lib 

Any clue to what is wrong?

 

 

 

 

0 Kudos
TimP
Honored Contributor III
647 Views

Perhaps the mkl_sequential version conflicts with the ipp threaded version.  If you would give us a simple reproducer, we could try it.  You could control number of threads used by MKL by setting MKL_NUM_THREADS.

0 Kudos
erling_andersen
New Contributor I
647 Views

But I thought I was linking the sequential version of ipp. I absolute do not want any of your stuff to run in parallel.

 

 

0 Kudos
Zhang_Z_Intel
Employee
647 Views

There might be a conflict in MKL and IPP. I'm double checking on it. Meanwhile, would you please share the compiler options and link line you used?

 

0 Kudos
erling_andersen
New Contributor I
647 Views
I have made an attachment with the link line. The system says it is spam if i paste output in.

Next I have to input a captcha I cannot read. Very friendly.

 

0 Kudos
erling_andersen
New Contributor I
647 Views

Btw things seems to Work on Linux with 14.0.1.

0 Kudos
Zhang_Z_Intel
Employee
647 Views

This problem is caused by conflicts of FFT routines in MKL and IPP. The issue has been escalated to the engineering team. We are targeting to fix it in MKL 11.1 update 3 (to be released in May 2014). For now, we suggest users to try one of the two approaches to mitigate the problem:

1. Use only IPP FFT functions and not MKL FFT functions. Link IPP libs before MKL libs. Or,

2. Use only MKL FFT functions and not IPP FFT functions. Link MKL libs before IPP libs.

Thanks for reporting this issue.

 

0 Kudos
erling_andersen
New Contributor I
647 Views

It seems the same problem is in Composer 2015 XE. Any news?

0 Kudos
erling_andersen
New Contributor I
647 Views

Btw I do not understand your suggested work around. Are you saying if I link with mkl_core.lib then I do not have to link ippsmt.lib? 

0 Kudos
Sridevi_A_Intel
Employee
647 Views

Yes, Error says "ippsmt.lib" is already defined in mkl_core.lib. so, you can skip this in your linkline. Also, link MKL libs first before IPP libs (order of linking matters)

0 Kudos
Reply