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

Problem finding ranges of ratio values of Basic Performance Tuning Ratios

Suranjit_Sinha
Beginner
339 Views
Dear all,


We are trying to measure performance of one of our product using Intel VTune Performance Analyzer 9.1.

As we didn't do this type of performance analyzing using VTune before, so we are facing some problems and don't get any solution how to proceed.

The problem can be described as follows:

We had obtained the Basic Performance Tuning Ratios for our product. These ratios include Branch Misprediction Performance Impact, Clock Per Instruction Retired (CPI) and L1 data cache miss rate. We had tested our product for different scenarios and obtained different value for the above ratios.

But the problem is, we cannot find out the range for those ratios from which we can understand whether our obtained ratios are good or bad, because if our obtained ratios are not what it should be, then we have to enhance our code to obtain better ratios.

If some one please specifies what are the ranges for those ratios then we can estimate our ratios properly.

NB: We are using Intel Core 2 duo processor and we had tested our product in Ubuntu 8.04.




Thanks & Regards,
// Suranjit

0 Kudos
5 Replies
Vladimir_T_Intel
Moderator
339 Views
Quoting - Suranjit Sinha
Dear all,


We are trying to measure performance of one of our product using Intel VTune Performance Analyzer 9.1.

As we didn't do this type of performance analyzing using VTune before, so we are facing some problems and don't get any solution how to proceed.

The problem can be described as follows:

We had obtained the Basic Performance Tuning Ratios for our product. These ratios include Branch Misprediction Performance Impact, Clock Per Instruction Retired (CPI) and L1 data cache miss rate. We had tested our product for different scenarios and obtained different value for the above ratios.

But the problem is, we cannot find out the range for those ratios from which we can understand whether our obtained ratios are good or bad, because if our obtained ratios are not what it should be, then we have to enhance our code to obtain better ratios.

If some one please specifies what are the ranges for those ratios then we can estimate our ratios properly.

NB: We are using Intel Core 2 duo processor and we had tested our product in Ubuntu 8.04.




Thanks & Regards,
// Suranjit


Hi Suranjit,

You might find it useful looking through VTune Help pages regarding performance events. There are descriptions of the event ratios with the ranges that are considered normal for an application. It's also worth toread the event explanations in the Intel 64 and IA-32 Architectures Optimization Reference Manual.

0 Kudos
Suranjit_Sinha
Beginner
339 Views

Hi Suranjit,

You might find it useful looking through VTune Help pages regarding performance events. There are descriptions of the event ratios with the ranges that are considered normal for an application. It's also worth toread the event explanations in the Intel 64 and IA-32 Architectures Optimization Reference Manual.


Hi Vladimir,


Thanks for your information. I will look at those explanations and let you know.

0 Kudos
TimP
Honored Contributor III
339 Views
Many people put excessive emphasis on numerical ratios. You should disregard advice to change your application so as to reduce Clocks Per Instruction, if that is done by increasing the number of instructions rather than speeding up the run, for example. What matters is which events bear on performance in the hot spots in your own application.
You may also wish to consider whether performance on newer CPUs will be important to your customers.
0 Kudos
Suranjit_Sinha
Beginner
339 Views
Quoting - Suranjit Sinha

Hi Vladimir,


Thanks for your information. I will look at those explanations and let you know.

Hi Vladimir,


Thanks for your information. I have gone through the PDF and found that various optimization strategies are described in the spec.Various Branch Prediction Optimization strategies are also described in the PDF, which is of great help if we can implement thosein our code base. But the issue is, we cannot find any definite ratio value ranges from which we can be sure that the ratios we found fromVTune using our binary is good or bad.

For ex: In our Intel Core2 Duo Ubuntu installation we have installed VTune Analyzer tool and obtained the Branch Misprediction Ratioby running our binary under different scenarios. All these ratiosare found to be on an average between 0.01 - 0.02. Nowwe cannot understand these ratios are good or we have to optimize our code accordingly.

If you please help figuring out this ratio puzzle, it will be great.


Thanks,
// Suranjit
0 Kudos
TimP
Honored Contributor III
339 Views
Quoting - Suranjit Sinha
we have installed VTune Analyzer tool and obtained the Branch Misprediction Ratio by running our binary under different scenarios. All these ratios are found to be on an average between 0.01 - 0.02. Now we cannot understand these ratios are good or we have to optimize our code accordingly.


Maybe you could examine your source code. For example, if you have predominantly loops of length 50 to 100, the only way you will reduce this mispredict ratio is by making the loops longer. If you get this mispredict ratio on longer loops, due to unrolling or vectorization, and you wish to reduce the misprediction ratio at the expense of removing optimization, be my guest.
0 Kudos
Reply