- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
this does not tell you precisely about threading. What processor did you use on your 32-bit system? Which exactly IPP functions did you use? Note, not every IPP function use internal threading. There are several reasons for that. Remember also that IPP functions use internal threading only when you link with IPP DLLs. There is no threading in static IPP libraries.
You can utilize multi-threading capabilities of your processor automatically only with limited set of IPP functions. The better way to do it - to implement threading in your application, above IPP functions. Please take a llok on IPP samples, for example JPEGView sample which use threading above IPP functions.
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The processor on the 32 bit system is an Intel Pentium M. I have been linking with IPP DLLs so that should not be an issue. Can you tell me what IPP functions have internal threading? Also, I looked at JPEGView and could not find where the multi-threading was taking place (I'm not sure what functions to look for that initiate the multi-threading).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Note, in case of Pentium M processor, which contains only one processor core, you will not get benefits from IPP internal threading. IPP threadingis based on OpenMP API, which helps developers to simplify threading in their applications (I'd like toreferyour to OpenMPweb page for the details). Basically, program built with OpenMP, will automatically detect how many processors (cores) are available on the system and launch appropriate number of threads (one per processor/core). Of course you need to specify reqions of your code which should be parallelized. It means that on single processor systems programs based onOpenMP will not launch additional threads and sobehaviour will remain sequental/non-threaded.
On Pentium Dsystem, IPP DLL will use threading in some of functions, for example, ippiAddC_8u_AC4IRSfs. It is difficult to specify the whole list of functions, as threading conditions are different for different image processing algorithms. We do use internal threading if it provides performance improvement, so the same function might be threaded for W7 library but will not be for T7 or vice versa.
You can find an example of OpenMP threading in JPEGViewjpegcodecdecoder.cpp file. Just look for the line:
#ifdef _OPENMP
Regards,
Vladimir

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page