Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Divino_C_
New Contributor I
29 Views

CPU Time

Hello there, I've some questions and I would very much apreciate any help.

I'm profiling a toy benchmark using VTune Amplifier Lightweight hotspot analysis and analyzing the CPU utilization histogram on the Top-down Three tab. My question is: in the histogram If I zoom sufficiently I see that one of my threads has CPU Time = 0.0% this means what? That the CPU is waiting memory/cache ? In this same graph I see some bars with CPU Time above 7000%, how could that happen? How CPU Time is calculated?

Please see the image attached for a example. 

0 Kudos
1 Reply
Peter_W_Intel
Employee
29 Views

I try to interpret your result. Your thread ran quickly, total 1ms around for CPU time total, self time of main() is zero, all CPU time was contributed from do_work() which is the subroutine of main(), do_work() includes work1 and work2 which spent CPU time 0.503ms and 0.419ms respectively, but do_works() spent 0.084ms itself.

Self CPU time doesn't include wait time, overhead time, but includes spin-time. Note that spin-time will consume the CPU time.

Total CPU time includes function self-time, and all CPU time of its subroutines, also it includes wait time, overhead time and spin-time (which is a part of CPU self-time).

Hope it helps.

Reply