Analyzers
Support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
4559 Discussions

VTune shows LLC misses for code line with only "}"

T_C
Beginner
62 Views

I have double-clicked the name of a function in the bottom-up view and it shows me the source code for the function, along with individual metrics per line of code. I have code resembling:

std::vector<boost::shared_ptr<MyClass>> v = getVector();

for(boost::shared_ptr<MyClass> m : v){     //VTune shows no LLC misses here, but shows L2 bound misses

   a = b * c; //Metrics look fine for this row
   d = e * f; //Metrics look fine for this row

}  //VTune shows LLC misses for this line??

As you can see from my comments above, the VTune GUI display shows a LLC miss value for the end of the for-loop. How should I interpret this? At first I thought it was the for-loop itself, but as you can see from my code comments, there is a separate row showing the metrics for the start of the for-loop.

Help?

0 Kudos
1 Reply
TimP
Black Belt
62 Views

Not knowing specifically what you're looking for, I'd suggest you try highlighting that source line and turning on assembly view to see which instructions the events became associated with, and whether VTune is in fact interpreting the debug symbols provided by the compiler in such a way as to associate those instructions with that source line.

It seems entirely possible that instructions associated with loop cleanup are waiting for cache misses to be resolved.

Reply