Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

IPP linkage - static libs with dispatch

skycle
Beginner
137 Views
I am trying to use the Intel IPP library to perform FFTs in a plugin for another host application. I'm running into trouble because it appears that simply linking and calling IPP functions in my plugin (note that these function calls are never reached)causes the host application to crash, seemingly in an OpenMP DLL. I think that IPP must use OpenMP under the hood, and the host application uses a different version, or something.

I don't want any multithreading at all from IPP, I'm handling that myself at a higher level. I also want to use the statically linked libraries to avoid this problem.

However, the documentation says to link to 'ippsemerged.lib' for the static libraries with dispatch. I can't find this library anywhere in my source tree? So far I'm just using the trial version of IPP, do I need to purchase the library to get this version of the library?

In general, what I'm attempting to accomplish is using the static libs with dispatch, and I don't want any multithreading by IPP as I'm calling the IPP functions on many threads at a higher level. Any help with accomplishing this would be much appreciated!
0 Kudos
3 Replies
skycle
Beginner
137 Views
I was able to solve this by linking to the _l.lib libraries. IMO, the documentation is not very clear about this, and I've seen the *merged.lib libs referenced several more times since asking the question, and I still haven't been able to find these libraries anywhere in my IPP package...
SergeyKostrov
Valued Contributor II
137 Views
What version ofIPP( Trial )are you using?

I just checked my IPP's ( Non-Trial )directory structure and I found lots of '*merged.lib' files in '..\Lib' folder:

...
ippacemerged.lib
ippacmerged.lib
ippcvemerged.lib
ippcvmerged.lib
ippiemerged.lib
ippimerged.lib
ippjemerged.lib
ippjmerged.lib
ippmemerged.lib
ippmmerged.lib
ippmpemerged.lib
ippmpmerged.lib
ippscemerged.lib
ippscmerged.lib
ippsemerged.lib
ippsmerged.lib
ippsremerged.lib
ippsrmerged.lib
ippvcemerged.lib
ippvcmerged.lib
ippvmemerged.lib
ippvmmerged.lib
...
igorastakhov
New Contributor II
137 Views
In IPP 7.0.x library naming changed (in comparison to 6.x and earlier) - "merged" suffixremoved from libraries names and two new suffixesused to distinguish non-threaded static - "_l" and threaded static - "_t" libraries.

Regards,
Igor
Reply