Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5104 Discussions

How to efficiently use processor's events in VTune(TM) Analyzer?

Peter_W_Intel
Employee
342 Views

Intel? VTune Performance Analyzer provides different event list, it relies on what processor the user is running. The user can refer to $VTune_Dir\Help, there are many help files -

Pentium4.chm -About Events for Intel Pentium 4 Processor

PentiumM.chm -About Events for Intel Pentium M Processors

PentiumMY.chm -About Events for Intel Core Solo and Intel Core Duo Processors

pmb.chm -About Events for Intel Atom Processor

pmm.chm -About Events for Intel Core 2 Duo Processor

pmp.chm -About Events for 45nm Intel Core 2 Duo Processor

Actually there is only one list which can be used on user's working system, however the user still is hard to make decision what event(s) will be used for sampling data collection. So VTune? Analyzer provides default two events CPU_CLK_UNHALTED.CORE & INST_RETIRED.ANY to profile user's program on Intel Core 2 Duo system.

CPU_CLK_UHHALTED.CORE samples can measure processor's time (samples * SAV / Frequency) spent in code

INST_RETIRED.ANY samples can measure Instructions number (samples * SAV) were executed in code.

So we have to verify which code region spent much time, and pay special attention on those code that INST_RETIRED.ANY samples are low, that is CPI = Cycles / Instructions (average number for specific function or module). The low, the better.

Next step, we may review code to find possible reason to cause performance issue. There are other events that the user can use to find root-cause, but event number is huge and hard to select one to do.

That is why the user has to use "Event Ratios"...Their name are meaningful for you! For example, "Branch Misprediction Performance Impact", "Bus Utilization", "L2 Cache Miss Rate", etc

When the user decides to choose one event ratio (for example, "Bus Utilization") into the list of event ratio, then events BUS_TRANS_ANY.ALL_AGENTS, CPU_CLK_UNHALTED.BUS are selected into event list automatically.

So you will find to use VTune? Analyzer's events - not difficult. VTune? Analyzer helps your!

How do you think about this?

Regards, Peter

0 Kudos
2 Replies
David_A_Intel1
Employee
342 Views

Users might also be interested in a detailed discussion of the Intel Core2 processor events and how to interpret them. This paper was publsihed on the devx.com site.


Regards,

0 Kudos
srimks
New Contributor II
342 Views
I referred David Levinthal paper as published http://assets.devx.com/goparallel/18027.pdf, it gives good idea to distinguish CPI & other cycles related to Cache misses, DTLB misses, Branch-MisPredictions, etc.
Also, would like to suggest reading "Intel Itanium Processor Reference Manual" http://download.intel.com/design/Itanium2/manuals/25111003.pdf
I think both these are good stuffs to start working with VTune in depth.
~BR

0 Kudos
Reply