Community
cancel
Showing results for 
Search instead for 
Did you mean: 
sandeshnie
Beginner
58 Views

count hardware events in Vtune

Hi,
I am a newbie to Vtune. I want to count hardware events as accurate as possible, only for my project under Visual studio and not for whole system. Could anyone please suggest me which analysis will be most appropriate?
I found out that lightweight hotspot analysis gives hardware event counts. But how accurate is that and if I enable multiple runs under project properties, is there a way where I can know how many times my application was run?
Thank You,
0 Kudos
3 Replies
Peter_W_Intel
Employee
58 Views

Hi,

All hardware PMU event-based sampling and analysis types are accurate, since they are hardware based:-)

My opinions are:
1. As first step, you can use lightweight-hotspots analysis to know CPU_CLK_UNHALTED.CORE (aka clockticks) & INST_RETIRED.ANY to evaluate performance and workload.

2. Secondary, you can use "General Exploration" analysis to detect PMU events, most of events (branch mispredict, L2 cache miss, resource stall, etc) impact on performance result. There are 10+ events can be monitored ata run.

Regards, Peter
sandeshnie
Beginner
58 Views

Hi Peter,
Thanks for your response.
I would also like to know if I can get the number of runs it has executed on my application, so that I understand how many events exactly happened in a single run in my project (I have enabled allow multiple runs in project properties to get accurate results).
I get summary as shown in the attached file. But I want to know the parameters for a single run of my code. Is it possible to know?
I am particularly interested in knowing branch related info like # of branches predicted, # of br mis-predicted etc.
Thanks a lot.
Peter_W_Intel
Employee
58 Views

Hi,

Let me clarifyfrom backgroud.

If the user set many events, buthardware can only monitor limited eventsat a session- thus, old VTune will reorganize these events into several groups then run several sessions.

In new product, the tool uses "multiplexing events" and collect data in different time slice - for example,"t1, t5, t9,..." will serve onsome events, "t2, t6, t10,..." will serve on other events, ...
Yes. Some samples will be missed (not captured), butresults will reflects program's overallevents situation.

- "allow multiple runs" means that tool will not use "multiplexing events", BUT all you selelected events (attached file) - they are allowed in one session, and there is no sample missed.

If you wants to run one event only at a session, you can create several projects for several events.

Hope that I have answered your questions.

Thanks, Peter

Reply