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

Intel IPP and Vtune

peterp
Beginner
445 Views
Hi:
I am trying to optimize a body of software. Generally, I have been able
to optimize performance using Vtune to identify hotspots, and then using
IPP to optimize these hotspot locations. Whenever I've used this technique,
I've managed to speed up my code andmake the hotspot disappear, in which
case, some fraction of the time spent was transferred to the IPP routine that
I used for the speedup.
Now, I have a much more complicated situation where I am using many
cascaded filters and processing elements, and I need to see the IPP
hotspots (i.e. which IPP routines is it spending the most time in). But
here, I have some difficulty. Vtune identifies the IPP dll, but the locations
in the code are completely bogus. It tells me that I'm spending 75% of my
time inside of some image processing routine that I know I'm not using
(even indirectly) - so I'm imagining that Vtune cannot get a good map
of the sourcecode locations inside of IPP.
I'm looking for some advice on how to proceed.
I am using the DLL usage of IPP - one idea I thought might work would
be to use the static linked IPP, but that is a pain to set up, so I'd want to
know in advance whether that would even work. I'm also worried that the
indirection used by IPP based on which processor is detected might
cause further problems.
So... my exact question is:
Is there any way to use Vtune to properly identify the hotspots with IPP code.
Thanks in advance
0 Kudos
1 Reply
Vladimir_Dudnik
Employee
445 Views

Hi,

It can be IPP function calls other IPP functions inside, so do not consider VTune was completely wrong in detecting hot-spots. Of course it is difficult to say anything in particular without knowledge of which IPP functions do you use and which you are sure were never call but Vtune detects.

Regards,
Vladimir

0 Kudos
Reply