Community
cancel
Showing results for 
Search instead for 
Did you mean: 
shyaki
Beginner
75 Views

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

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
75 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
PaulF_IntelCorp
Employee
75 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
Mark_Rubelmann
Beginner
75 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
Vladimir_Dudnik
Employee
75 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
Mark_Rubelmann
Beginner
75 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
Mark_Rubelmann
Beginner
75 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
Vladimir_Dudnik
Employee
75 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
Mark_Rubelmann
Beginner
75 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
Vladimir_Dudnik
Employee
75 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
Mark_Rubelmann
Beginner
75 Views

Thanks for the clarification! That makes sense.

Thanks,
Mark
Ying_H_Intel
Employee
75 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
Reply