0

I was trying to see a CPI value of a program on a i7 processor with vtune amplifier XE 2011.(on win8 x64) according to the tutorial, viewpoint of

  • Hardware Event Counts
  • Hardware Event Sample Counts
  • Lightweight Hotspots
  • Hardware Issues

will sow the CPI value. But on my version i have only Lightweight Hotspots. thing is when i trying to analyse it gives a massage "unsupported architecture type". can anyone tell me

how can i see the CPI of a program on i7 x64bit win8 and using vtune 2011? if impossible, why? or which version(or any other way) can measure the CPI on above system?

mhs
  • 1,012
  • 2
  • 14
  • 35
wicky
  • 384
  • 3
  • 17

3 Answers3

3

You need to upgrade to the latest VTune version (2015 Update 1) to get CPI for new CPUs.

acid-art
  • 126
  • 4
2

2011 version was out-of-life with technical support. Version 2011 is too early(support Core(TM) 2 processors).2013 version might support i7 processor.

try latest trial version

mhs
  • 1,012
  • 2
  • 14
  • 35
1

"Cycles per instruction" hasn't been a metric since instruction pipelining and superscalar architectures were introduced - the concept becomes meaningless.

As an analogy, consider Ford's car factory after the introduction of the assembly line - except it's making 20 different models of cars with a huge variety of complexity, then trying to determine how many workers are used to make each car - you're making huge (false) assumptions about the nature of execution.

Dai
  • 141,631
  • 28
  • 261
  • 374
  • Thanks for the answer. So you are saying that is useless to get the CPI? However it is still possible right? – wicky Dec 09 '14 at 02:50
  • 1
    This is true, but https://gmplib.org/~tege/x86-timing.pdf gives you an overall sense of the costs of some operations (e.g., 64-bit division is expensive), generated by running them in loops. But it's really more complicated than that: sometimes you can run instruction X in parallel with instruction Y but not with Z, so it's still a (sometimes useful) simplification. – twotwotwo Dec 09 '14 at 02:53
  • @wicky no, it isn't really possible - and even if you did get a number, it would be meaningless and you would be making a mistake by basing decisions on whatever that number was. – Dai Dec 09 '14 at 03:02
  • @Dai but i was thinking about if we get the cpi value we have an idea about thread concurrency isn't it (lower cpi is better than higher) actually i was about to use it to compare 2 codes(doing same thing) – mhs Dec 09 '14 at 06:30
  • 2
    CPI however is still often used for the purpose of performance analysis. One reason, why it makes sense, is that you still can compare average CPIs for function A vs. function B (aggregated averaged metrics comparison). And of course you don't compare it in terms of "2.57 vs. 3.234", but instead in terms of "relatively low" vs. "relatively high". Coming back to Ford analogy: it doesn't make sense to accurately calculate number of workers, but it still useful to compare avg. number of workers between assembly line for Cross-overs vs. assembly line for Hatchbacks. – zam Dec 10 '14 at 19:40
  • this may useful: https://software.intel.com/en-us/forums/topic/473485#comment-1807755 – mhs Dec 11 '14 at 04:33