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

Ipp and libiomp5md.dll

constantine-vassilev
656 Views

I am analysing my project withVTune. The project is using some of the IPP functions, I am linking only ippdc.lib ippch.lib ippcore.lib ipps.lib. The compiler isMS VS C++ 2008 compiler.

After running VTune I am seeing the following.

Under : Most Active Functions in Your Application I see: libiomp5md.dll unresolved addresses - 43.38%.

I am not using libiomp5md.dll or something related. From other side 43.38% spend on this is too much.

What is wrong?

Thanks in advance,

Constantine

0 Kudos
5 Replies
Vladimir_Dudnik
Employee
656 Views
It is not clear is that too much or not. If you see performance scalability on 2 or 4 core system against 1 core system that might what is needed.
Vladimir

0 Kudos
constantine-vassilev
656 Views
Quoting - vdudnik
It is not clear is that too much or not. If you see performance scalability on 2 or 4 core system against 1 core system that might what is needed.
Vladimir

I am not linking tolibiomp5md.dll. Why this statistics is collected for it then?

0 Kudos
Vladimir_Dudnik
Employee
656 Views

IPP DLLs linked with libiomp5 library. If you do not want to use IPP internal threading you may decide to link with IPP static not threaded libraries.

Vladimir

0 Kudos
constantine-vassilev
656 Views
Quoting - vdudnik

IPP DLLs linked with libiomp5 library. If you do not want to use IPP internal threading you may decide to link with IPP static not threaded libraries.

Vladimir

Is IPP staticperformance better?

Constantine

0 Kudos
Vladimir_Dudnik
Employee
656 Views
Thereare number of options available for using IPP in your application. You may decide to rely on IPP internal threading and in this case you need to link either with IPP DLL or with IPP static threaded libraries.
You also may decide to implement threading on top of IPP functions (for example to call IPP func in parallel on different part of data). For this case it is better to link with IPP static not threaded libraries.
And finally you may try to combine IPP internal threading and threading on application level (IPP simple_playeruse this approach when you link with DLLs or threaded static libs).
Basically, IPP provides you with optimized kernels. It is application developer responsibility to make sure it is used efficiently.
Vladimir

0 Kudos
Reply