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?
Link Copied
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?
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.
But I thought I was linking the sequential version of ipp. I absolute do not want any of your stuff to run in parallel.
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?
Btw things seems to Work on Linux with 14.0.1.
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.
It seems the same problem is in Composer 2015 XE. Any news?
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?
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)
For more complete information about compiler optimizations, see our Optimization Notice.