Intel® VTune™ Amplifier 2018 Help
This metric evaluates the parallel efficiency of your application. It estimates the percentage of all the logical CPU cores in the system that is used by your application effectively, that is, without including the Overhead and Spin time introduced by the parallel runtime system. 100% utilization means that your application keeps all the logical CPU cores busy for the entire time that it runs.
Depending on the analysis type, you can see the CPU Usage data in the Bottom-up grid (HPC Performance Characterization), on the Timeline pane, and in the Summary window on the CPU Usage histogram:
For the histogram, the Intel® VTune™ Amplifier identifies a processor utilization scale, calculates the target CPU usage, and defines default utilization ranges depending on the number of processor cores. You can change the utilization ranges by dragging the sliders, if required.
Utilization Type |
Default color |
Description |
---|---|---|
Idle |
Idle utilization. By default, if the CPU Time on all threads is less than 0.5 of 100% CPU Time on 1 core, such CPU utilization is classified as idle. Formula: ∑i=1,ThreadsCount(CPUTime(T,i)/T) < 0.5, where CPUTime(T,i) is the total CPU Time on thread i on interval T. |
|
Poor |
Poor utilization. By default, poor utilization is when the number of simultaneously running CPUs is less than or equal to 50% of the target CPU usage. |
|
OK |
Acceptable (OK) utilization. By default, OK usage is when the number of simultaneously running CPUs is between 51-85% of the target CPU utilization. |
|
Ideal |
Ideal utilization. By default, Ideal utilization is when the number of simultaneously running CPUs is between 86-100% of the target CPU utilization. |
You may set the color scheme to colorblind from
Tools (Visual Studio IDE)/Menu
(standalone interface) >
Options... >
Intel VTune Amplifier
version>
General pane. The colors of the utilization types will be shown in greyscale.
VTune Amplifier treats the Spin and Overhead time as Idle CPU utilization. Different analysis types may recognize Spin and Overhead time differently depending on availability of call stack information. This may result in a difference of CPU Utilization graphical representation per analysis type.
CPU Usage may be higher than the Thread Concurrency (available for Concurrency and Locks and Waits analyses) if a thread is executing code on a CPU while it is logically waiting (that is, the thread is spinning).
CPU Usage may be lower than the Thread Concurrency if:
The concurrency level is higher than the number of available cores (oversubscription) and, thus, reaching this level of CPU utilization is not possible. Generally, large oversubscription negatively impacts the application performance since it causes excessive context switching.
There was a period when the profiled process was swapped out. Thus, while it was not logically waiting, it was not scheduled for any CPU either.