Idon't know how to calculate the parallelization ratio.
In the case of 45nm Intel Core microarchitecture, the following equation is used to calculate the parallelization ratio.
Equation: 1 - ( CPU_CLK_UNHALTED.NO_OTHER / CPU_CLK_UNHALTED.BUS )
I want to know how to calculate the parallelization ratioon an Intel Xeon 5500 or Core i7 using VTune.
I don't know the formula you mentioned on Intel Core 2 -
1 - ( CPU_CLK_UNHALTED.NO_OTHER / CPU_CLK_UNHALTED.BUS
I suppose onCore2 processors -
Parallelism = CPU_CLK_UNHALTED.CORE_P / CPU_CLK_UNHALTED.TOTAL_CYCLES * Number-of-Cores
Note that I assumed that running code is nothalted, or says notina sleep state.It meansthat CPU frequency is constant during code running.
I can't find similar CPU event like as CPU_CLK_UNHALTED.TOTAL_CYCLES on i7 processors, the user may measure TSC value at the beginning and end of program, with _rdtsc() in ia32intrin.h (installed Intel C++ compiler)
Unused cycles== tsc_begin tsc_end CPU_CLK_UNHALTED.REF)
Parallelism = 1 - (Unused cycles / CPU_CLK_UNHALED.REF)
You can getparallelism (or cpu utilization) data directly if you use other Intel Tools: Intel Thread Profiler, or Intel Parallel Amplifier