Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Reshmi_Mitra
Beginner
68 Views

Difference between events & samples

Hi,

I tried looking for any difference between events and samples but could not find a definitive answer.

Secondly, is there any why to find out number of times any (stall causing) event has occurred? For example, I am measuring RESOURCE_STALLS.ANY. I know how many cycles have been spent in various events. But, I would like to know how many times the samples were taken.

Thanks in advance,
Reshmi

0 Kudos
7 Replies
Reshmi_Mitra
Beginner
68 Views

Hi,

Another way of asking the same question above.

I ran VTUNE for finding out RESOURCE_STALLS.ANY for my FFT code. Here is the results I got:

Samples: 9.071E+5

Events: 9.071E+10

%age: 87.87%

Does this mean that every time there is some kind of RESOURCE_STALLS activity, there is a latency of 1E+05 cycles? This seems like an unrealistic figure.

I am trying to find an average number of stall cycles every time there is a stall in the pipeline.

regards,

Reshmi

TimP
Black Belt
68 Views

Presumably, this means you had set the sample after value to 1e5.
Reshmi_Mitra
Beginner
68 Views

Yes, the sample after value is 1e5.

But, can you please tell me how this will help me calculate:
1- number of cycles spent on RESOURCE_STALLS
2- how many times RESOURCE_STALLS actually occurs?

Thanks,
Reshmi
Thomas_W_Intel
Employee
68 Views

The number of events is the answer to your second question (up to thestatistical error that is inherent to "sampling")

Why you are seeing resource stalls and howmuchthis impactsyour application depends on a lotof factors. You might want touseUOPS_EXECUTED.CORE_STALL_CYCLES to measure thenumber of cycles where no op is executed. This can serve as a starting point to estimate how often the out-of-order engine is actually stalled.The Performance Analysis Guide for Intel Core i7 Processor and Intel Xeon 5500 processors can give you further guidance on how to analyze the application.

Reshmi_Mitra
Beginner
68 Views

Thanks for your reply. And you have confirmed that my approach about the cycle count is correct.
I am not trying to tune the application. I am creating an analytical model which takes inputs from Vtune data. I need to find probability values based on the data provided.

So, I need to find average stalls of multiple events.. or how many times the samples are taken.
Somehow, I am still not able to get how many times a particular stall event e.g. resources or branches or others are occurring. Any thoughts on that will be greatly appreciated.
Thomas_W_Intel
Employee
68 Views

You might be interested in this paper about "The Software Tuning Agent: A Tool for Workload Characterization and Microarchitecture Studies". Among other things, it creates a model for the workload.
Reshmi_Mitra
Beginner
68 Views

Thanks. I will go over the paper.
Reply