- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello
I'm getting this error when I compile my program with Intel's compiler v14:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\x64\PlatformToolsets\Intel C++ Compiler XE 14.0\ImportBefore\Intel.Libs.IPP.Intel C++ Compiler XE 14.0.targets(91,5): error : IPP multi-threaded libraries are not installed.
I have Parallel Studio XE 2013 for windows, I thought it came included with IPP, did I miss something?
Thanks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dominique,
You need to reinstall PS2013 in "modify" mode and use "customizing" (or "customize") button on one of installation dialogs. There you need to specify that the installation of IPP multi-threaded libraries is required. By default they are OFF.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you they have been installed now. But why does it say (Deprecated)? Has support for them been dropped or is there a problem with using them?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dominique,
Multi-threaded libraries are deprecated because internal (inside a primitive) threading is significantly less effective than external (at the application level) threading. Moreover - IPP internally is threaded with OMP, Linux p-threads or Win API or any other threading engine know nothing about OMP and if application is threaded with any other threading tool - you can face with different issues like thread oversubscription, conflicts, etc. With new IPP versions we provide a lot of new APIs for 1D (ipps) and 2D (ippi) functions that support external threading. Several IPP functions combined into 1 pipeline that is threaded externally are significantly more efficient from the performance and power points of view than sequential call of internally-threaded variants of these functions.
regards, Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Igor,
I wish you brought back those libraries.
They were the best feature of IPP.
On many cases Multi Threaded Filters are all needed.
Thank You.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So does that mean if I am using the IPP functions in for example a Windows DirectShow Filter where multiple instances may be active within a process then I need to provide my own external locks around calls to IPP functions?.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ,
IPP is thread safe libraries. so it could be used by different thread at the same time. It does not need to add a lock externally.
Thanks,
Chao
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
But if i need just to do a single function on single data continuously, lets say a 2d fourier transform possibly on a big data chunk, and at the same time is unable or dont have the time to do a good optimization myself and yet this function dominates execution time and uses its core up 100%, is it still not a good reason to use the multithreaded version?
ArneBo
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
as Igor mentioned IPP team introduced Threading Layer for IPP libraries. It realizes the same functionality as IPP multi-threaded libraries and additionally enable a customer to organize threading for a custom pipeline that has much better performance vs. IPP threaded libraries. The Threading Layer are supported OpenMP and TBB tools starting from IPP 2019 gold release.
In a one of next IPP 2019 updates you can see an example of usage IPP Threading Layer in several modes and you can see performance benefits.
Yes there are a small % of cases when internal threading gives better performance results vs. external threading. But in general external threading is more effective.
Pavel
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page