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

the threaded dll in IPP 9.0 Legacy Libraries

teng__wanli
Beginner
1,005 Views

Hi,

      I download the IPP 9.0 Legacy Libraries. I find there are some threaded dll  in  \windows\lib\intel64\threaded. These name are  same with the dll in \windows\lib\intel64.   So may I know the difference of the two type dll and which version I will use.

Thank you.

 

0 Kudos
6 Replies
Sergey_K_Intel
Employee
1,005 Views

Hi,

The content of the threaded libraries is almost the same as of regular libraries, except some functions, which are paralleled with OpenMP. 

Regards.

0 Kudos
teng__wanli
Beginner
1,004 Views

Thank you. So if I link the threaded lib and Call ippSetNumThread(1) then the effect is the same as the non-threaded version?

The reason is my project are used in many application. some application are single thread, so the performance can benifit from threaded lib. but some application are multithreaded, then I call ippSetNumThread(1) to disable the internal thread in ipp as described in https://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-threading-openmp-faq

another question is, can i use the  threaded lib of IPP 9.0 Legacy Libraries and IPP 2018 in one project. because i think the lib in IPP 2018 is single thread version.

0 Kudos
Gennady_F_Intel
Moderator
1,004 Views

>> So if I link the threaded lib and Call ippSetNumThread(1) then the effect is the same as the non-threaded version?

<< yes, that's correct

>> Another question is, can i use the  threaded lib of IPP 9.0 Legacy Libraries and IPP 2018 in one project. Because i think the lib in IPP 2018 is single thread version.

1. Actually, IPP 2018 contains single and multithread versions both ( you may look at the <ipproot>/lib/intel64/threaded directory which contains threaded libs.

2. Actually we didn't tested such combination and probably some conflict may happen. Which functions from 9.0 legacy are you going to use?

 

0 Kudos
teng__wanli
Beginner
1,004 Views

Thanks for your reply.

I use many functions such ippiHistogramEven,  ippiDilate, ippiFilterPrewitt  ippiFilter  ippiDFTFwd_RToPack_ and so on.

According to your reply, maybe I should select the threaded lib.

 

0 Kudos
Gennady_F_Intel
Moderator
1,004 Views

thanks for these details. ippiDilate and  ippiDFT are threaded. We recommend to try using serial versions both of these version and see how your application will work and then will try to use threaded variants.... 

0 Kudos
teng__wanli
Beginner
1,004 Views

Thank you.

In some cases,  it isn't allowed to create new thread in the application level, so I can benifit from the threaded lib which using the internel thread. While in another cases,  it's allowed to create threads in the application level, then I can call ippSetNumThread(1)  to disable the internal thread and using the threads of application level. the two cases is deploy in different process. so the ippSetNumThread(1) only affect the calling process? 

 

Is that OK?

 

0 Kudos
Reply