Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6709 Discussions

IPP7.0 beta does not include the static "merged" lib files?

shyaki
Beginner
432 Views

I have looked forward to this release for a long time.
However, after I installed it, I could not find any static "merged" lib files. Did Intel change the way how to use IPP? Where can I find a document about it?

thank you!

0 Kudos
11 Replies
Vladimir_Dudnik
Employee
432 Views
Hi Shyaki,

Starting from IPP 7.0 we actually try to make customers life easier. Instead of having those merged and emerged libraries we now provide single static library which combine functionality of static dispatcher and contain all cpu-specific code.

Please learn more details on what's new in IPP 7.0 beta page.

Regards,
Vladimir
0 Kudos
PaulF_IntelCorp
Employee
432 Views
Hello Shyaki,

Also, please review this document for an outline of the new directory structure:

http://software.intel.com/en-us/articles/intel-ipp-70-library-install-guide/

Regards,

Paul
0 Kudos
Mark_Rubelmann
Beginner
432 Views
I'm also having trouble getting the static libraries to work. I've tried linking to ippcore, ippcore_l, ippcore_t, and friends but no matter what I do I get an error about it not being able to find ippcore-7.0.dll when I run my program. Am I doing something wrong?

-Mark
0 Kudos
Vladimir_Dudnik
Employee
432 Views
Hi Mark,

it seems you did something wrong. At least when you link with IPP static libraries you should not get message that DLL not found.

Regards,
Vladimir
0 Kudos
Mark_Rubelmann
Beginner
432 Views
Do you have any ideas on what I'm doing wrong? Previously I was linking to:

ippcorel.lib ippsemerged.lib ippsmerged.lib ippiemerged.lib ippimerged.lib ippccemerged.lib ippccmerged.lib ippjemerged.lib ippjmerged.lib

For 7.0, I changed those to:

ippcore.lib ipps.lib ippi.lib ippcc.lib ippj.lib

Thanks,
Mark
0 Kudos
Mark_Rubelmann
Beginner
432 Views
Oops, it looks like the article about selecting the appropriate libraries answered my question. I guess I needed the *_l.lib files. Those ones will dispatch to multithreaded code when available, right?

Thanks,
Mark
0 Kudos
Vladimir_Dudnik
Employee
432 Views
Hi Mark,

libraries without postfixes in the name are DLL import libraries, postfix '_l' stands for single threaded static libraries and postfix '_t' stands for multithreaded static libraries.

Regards,
Vladimir
0 Kudos
Mark_Rubelmann
Beginner
432 Views
Hmm... So do the _t libraries work on single thread CPUs? I guess if they're using OpenMP they must, right? Do you get all the same optimizations as in the _l libraries? If you need to link to the _t libraries to get static linkage plus multithreading, I think the library selection article is wrong (or at least misleading). It only has the _l versions listed under "Static Linking with Dispatching and Custom Dynamic Linking". The _t ones are under "Static Linking without Dispatching".

Thanks,
Mark
0 Kudos
Vladimir_Dudnik
Employee
432 Views
Yeah, seems we need to check the article.

'_t' (static multithreaded) libraries will work on single core cpu. We have the same optimization across all binaries DLLs, static single threaded and static multithreaded libraries. The different variants provided for flexibity. For example, static single threaded libraries might be used in OS kernel mode drivers, while multithreaded libraries can't.

Regards,
Vladimir
0 Kudos
Mark_Rubelmann
Beginner
432 Views
Thanks for the clarification! That makes sense.

Thanks,
Mark
0 Kudos
Ying_H_Intel
Employee
432 Views
Just add more info, the library filenames have been changedin version 7.0 of the IPP library.

Therelevant documentation is avaiable at IPP 7.0 Beta - Selecting the Intel IPP Libraries Needed by Your Application

Thanks
Ying
0 Kudos
Reply