- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I need to know how IPP behave on a multi-core system (say, a Pentium D).
When I call IPP function does it run in multi-threads? If so, can I expect significant performance improvement on a dual -core, without rewriting the code?
thanks,
Nizan.
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Yes, somefunctions in IPP DLLs use OpenMP threading inside, whereas the same functions in static libraries does not usethreading at all. Why only some functions? Because not all agorithms can get good speedup from threading. Other reason - it is better to implement threading above IPP functions, because you know your application specifics better.
Regards,
Vladimir
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is there some way to know which of the IPP'sfunctions are multi-threaded and which aren't?
thanks,
Nizan.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, please document exactly which APIs use multiple threads. My software must never block as I already maintain exactly one runnable thread per logical CPU. Any multi-threading done inside IPP (which would require blocking for things like thread startup/shutdown and memory allocation) will seriosly harm my application's performance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
unfortunately we do not provide exact list of functions which use OpenMP because it is subject of change andvaries on different architectures. Moreover,it also depends on amount of data to process. Thecriteria can be individual for each functionand also depends on architecture. In general, OpenMP threadingis usedmostly incolor-conversion functions. We also provide special function, ippSetNumThreads,(in ippCore library), it gives you possibility to disable internal threading at all. And I want to remind you that IPP static libraries does not contains OpenMP code, it is used only in DLL.
Regards,
Vladimir
Vladimir
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page