Intel® VTune™ Amplifier
The Summary window is your starting point of the performance analysis with the Intel® VTune™ Amplifier . To access this window, click the Summary sub-tab in the result tab.
The Summary window provides the overall statistics for the application run and includes the following sections:
The following controls help you manage the summary data:
Pop-up help for metrics: Hover over the
help icon at the metric name to see a metric description.
Highlighted issues: Depending on the viewpoint, the VTune Amplifier may analyze a metric, compare its value with the threshold value provided by Intel architects, and highlight the metric value in pink as a performance issue for an application as a whole. The issue description for such a value may be provided below the critical metric or when you hover over the highlighted metric.
Copy to Clipboard button: Click this button to copy the content of the selected summary section to the clipboard.
Hyperlinks: For some viewpoints, the VTune Amplifier displays a list of metrics or critical objects names as hyperlinks. Clicking a hyperlink opens the Bottom-up window and sorts the grid by the selected metric or highlights the selected object in the grid.
The Result Summary section displays a list of performance metrics that help you estimate the total performance of your application. The list of metrics depends on the selected viewpoint. The Elapsed Time metric provided as a section title serves as a key performance baseline for most of the analysis types.
VTune Amplifier displays the most performance-critical objects and their performance values per key metrics. Optimizing these objects typically results in improving overall application performance.
You can control the number of objects in this list and displayed metrics via the viewpoint configuration file. Depending on the selected viewpoint and type of an analysis target, the following objects are possible:
|
Type of Object |
Applicable Viewpoints |
|---|---|
|
Hotspots |
Hotspots, Hotspots by CPU Usage, Concurrency |
|
Waiting objects |
Locks and Waits |
|
Event samples |
Hardware Events |
|
Frequencies |
Platform Power Analysis |
|
Causes of Core Wake-ups |
Platform Power Analysis |
|
Active SC Devices |
Platform Power Analysis |
|
Top Tasks |
Hotspots |
|
OpenMP regions by Potential Gain |
Hotspots, Hotspots by CPU Usage, Concurrency |
|
OpenMP processes by MPI Communication Spin Time |
Hotspots, Hotspots by CPU Usage, Concurrency |
|
GPU computing tasks |
Any viewpoint used for GPU analysis configured to trace OpenCL™ kernels |
The grayed-out [Others] module provided for functions and waiting objects displays the total value for all other functions/synchronization objects in the application that are not included into this table.
Depending on the analysis type, the Summary window may include the following analysis-specific sections:
|
GPU Usage |
Depending on the target platform used for GPU analysis, this section shows the time (in seconds) used by GPU engines. Note that GPU engines may work in parallel and the total time taken by GPU engines does not necessarily equal the application Elapsed time. |
|
OpenMP Analysis. Collection Time |
This section displays the Collection Time as well as metrics for the duration of serial (outside of any parallel region) and parallel portions of the program. If the Serial time is significant, consider options to minimize serial execution, either by introducing more parallelism or by doing algorithm or microarchitecture tuning for sections that seem unavoidably serial. For high thread-count machines, serial sections have a severe negative impact on potential scaling (Amdahl's Law) and should be minimized as much as possible. See Interpreting OpenMP* Analysis Data for more details. |
|
Average Bandwidth |
This sections shows total memory bandwidth, Read Bandwidth, and Write Bandwidth per package averaged over the whole profiling session. This data is available if you run an analysis type collecting platform-wide metrics, for example, CPU/GPU Concurrency. The performance of your application may be limited by memory bandwidth if values in this table are close to maximum possible bandwidth on your platform. You can use benchmarks to measure your platform maximum bandwidth, for example: Intel Memory Latency Checker. |
|
Devices Concurrency and Usage |
This section displays total time when a CPU and/or GPU was active/idle. Use this data to explore how long the CPU and GPU were working in parallel and separately and estimate whether your application is CPU or GPU bound. |
The histograms help visualize the performance of your application per specific metrics. Depending on the selected viewpoint and analysis type, the following histograms show up in the Summary window:
|
CPU Usage Histogram |
||
|---|---|---|
| Use This | To Do This |
Applicable Viewpoints |
|
Vertical bars |
Hover over the bar to identify the amount of Elapsed time the application spent using the specified number of logical CPUs. |
Hotspots (for sampling event-based collection results), Hotspots by Thread Concurrency, Locks and Waits, Hotspots by CPU Usage |
|
Target Concurrency |
Identify the target CPU usage. This number is equal to the number of logical CPUs. Consider this number as your optimization goal. |
|
|
Average |
Identify the average number of CPUs used aggregating the entire run. It is calculated as CPU time / Elapsed time. CPU usage at any point in time cannot surpass the available number of logical CPUs. Even when the system is oversubscribed, and there are more threads running then CPUs, the CPU usage is the same as the number of CPUs. Use this number as a baseline for your performance measurements. The closer this number to the number of logical CPUs, the better, except for the case when the CPU time goes to spinning. |
|
|
Utilization Indicator bar |
Analyze how the various utilization levels map to the number of simultaneously utilized logical CPUs. NoteIn the CPU Usage histogram, the VTune Amplifier treats the Spin and Overhead time as Idle CPU usage. 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 Usage graphical representation per analysis type. |
|
|
Thread Concurrency Histogram |
||
|
Vertical bars |
Hover over the bar to identify the amount of Elapsed time the application spent simultaneously running the specified number of threads. For example, an application runs seven threads for 1.5s, waits for an event, and then runs again for 1.5s. The value for the 7th node for this application, is 1.5 + 1.5 = 3s The last bar in the chart may contain a + indicator. This indicates that there were additional threads in the overutilized state and that the time for these threads is combined into one bar. |
Hotspots by Thread Concurrency, Locks and Waits |
|
Target Concurrency |
Identify the target concurrency level. This number is equal to the number of logical CPUs. Consider this number as your optimization goal. |
|
|
Average |
Identify the average number of threads running in parallel for the entire run. It is calculated as CPU time / Elapsed time. For example, on a quad-core machine if an application used 2 cores for 1 second, did not use any cores for 1 second, and used all 4 cores for 1 second then the average CPU usage is calculated as follows: (2 * 1 + 0 * 1 + 4 * 1) / (1 + 1 + 1) = 6 / 3 = 2. Unlike the CPU usage, the concurrency level of an application can be larger that the number of available logical CPUs, which means that the system is oversubscribed. Use this number as a baseline for your performance measurements. The closer this number to the number of logical CPUs, the better. |
|
|
Utilization Indicator bar |
Analyze how the various utilization levels map to the number of simultaneously running threads. |
|
|
Correlate CPU Usage and Thread Concurrency Data |
Potential Performance Issue |
|
|
Average CPU usage is close to target concurrency and average concurrency is much lower than target concurrency. |
Parallel application with a lot of contention on spin locks |
|
|
Average CPU usage and average concurrency are close to 1. |
Serial application |
|
|
Average CPU usage and average concurrency are almost the same, with values falling between 1 and target concurrency. |
Parallel application with contention on usual synchronization-based locks |
|
|
Both average CPU usage and average concurrency are close to target concurrency. |
Good parallel application |
|
|
Frame Rate Histogram |
||
|---|---|---|
|
Domain drop-down menu |
Choose a frame domain to analyze with the frame rate histogram. If only one domain is available, the drop-down menu is grayed out. |
All viewpoints. Available for applications with frames only. |
|
Vertical bars |
Hover over a bar to see the total number of frames in your application executed with a specific frame rate. High number of slow or fast frames signals a performance bottleneck. |
|
|
Frame rate bar |
Use the sliders to adjust the frame rate threshold (in frames per second) for the currently open result. Alternatively, you may set the thresholds for fast and slow frames from the Analysis Target tab (applicable to all subsequent results). |
|
|
OpenMP Region CPU Usage Histogram |
||
|---|---|---|
|
OpenMP Region drop-down menu |
Filter the histogram data by the selected OpenMP region. Start your OpenMP analysis from the top of the list that is sorted by the Potential Gain metric value, which is the maximum elapsed time that could be saved if the OpenMP region is optimized to have no load imbalance assuming no runtime overhead (Collection Time minus Ideal Time). |
All viewpoints. Available for applications with OpenMP regions only. |
|
Vertical bars |
Hover over a bar to see how much time the specific number of CPUs were running simultaneously in the OpenMP region selected from the OpenMP Region drop-down menu. Spin and Overhead time adds to the Idle CPU usage value. |
|
|
Target Concurrency |
Identify the target concurrency level. This number is equal to the number of logical CPUs. Consider this number as your optimization goal. |
|
|
Average |
Identify the average number of CPUs used aggregating the entire run. It is calculated as CPU time / Elapsed time. Use this number as a baseline for your performance measurements. The closer this number to the number of logical CPUs (Target Concurrency), the better, except for the case when the CPU time goes to spinning. |
|
|
Utilization Indicator bar |
Analyze how the various utilization levels map to the number of simultaneously running CPUs. |
|
|
OpenMP Region Duration Histogram |
||
|---|---|---|
|
OpenMP Region drop-down menu |
Choose an OpenMP region to see the number of instances distributed by duration. |
All viewpoints. Available for applications with OpenMP regions only. |
|
Instance Count |
Hover over a bar to see the total number of OpenMP region instances in your application executed with a specific duration. High number of slow or fast regions signals a performance bottleneck. |
|
|
Duration Type (sec) |
Use the sliders to adjust the duration threshold (in seconds) for the currently open result. Initial distribution of region instances by Fast/Good/Slow categories is done as a ratio of 20/40/20 between min and max region time values. |
|
|
Frequency and Elapsed Time Histograms (available for VTune Amplifier for Systems only) |
||
|---|---|---|
|
The Frequency and Elapsed Time histograms show the time spent in each frequency or state. The Y axis shows the time per state type, and the X axis shows the different frequency or state. |
||
|
Frequency |
Identify a frequency state used by the processor. Hover over a bar to see the number of seconds your application executed in a specific frequency. Much time spent in the high-frequencies leads to higher power consumption. |
Platform Power Analysis |
|
Core Sleep State |
View core sleep states your system spent time in during the analysis run. Hover over a bar to see the number of seconds your application executed in a specific sleep state. Spending more time in deeper sleep states (ACPI C1 - ACPI Cn) provides greater power savings. |
|
|
Graphics Device Sleep State |
View graphics device sleep states your system spent time in during the analysis run. Hover over a bar to see the number of seconds your application executed in a specific sleep state. Spending more time in deeper sleep states (RC1 - RCn) provides greater power savings. |
|
This section provides the following data:
|
Application Command Line |
Path to the target application. |
|
Operating System |
Operating system used for the collection. |
|
Computer Name |
Name of the computer used for the collection. |
|
Result Size |
Size of the result collected by the VTune Amplifier. |
|
Collection start time |
Start time (in UTC format) of the external collection. Explore the Timeline pane to track the performance statistics provided by the custom collector over time. |
|
Collection stop time |
Stop time (in UTC format) of the external collection. Explore the Timeline pane to track the performance statistics provided by the custom collector over time. |
|
CPU Information |
|
|
Name |
Name of the processor used for the collection. |
|
Frequency |
Frequency of the processor used for the collection. |
|
Logical CPU Count |
Logical CPU count for the machine used for the collection. |
|
Physical Core Count |
Number of physical cores on the system. |
|
User Name |
User launching the data collection. This field is available if you enabled the per-user event-based sampling collection mode during the product installation. |
|
GPU Information |
|
|
Name |
Name of the Graphics installed on the system. |
|
Vendor |
GPU vendor. |
|
Driver |
Version of the graphics driver installed on the system. |
|
Stepping |
Microprocessor version. |
|
EU Count |
Number of execution units (EUs) in the Render and GPGPU engine. This data is Intel HD Graphics specific. |
|
Max EU Thread Count |
Maximum number of threads per execution unit. This data is Intel HD Graphics specific. |
|
Max Core Frequency |
Maximum frequency of the Graphics processor. This data is Intel HD Graphics specific. |
|
Graphics Performance Analysis |
GPU metrics collection is enabled on the hardware level. This data is Intel HD Graphics specific. NoteSome systems disable collection of extended metrics such as L3 misses, memory accesses, sampler busyness, SLM accesses, and others in the BIOS. On some systems you can set a BIOS option to enable this collection. The presence or absence of the option and its name are BIOS vendor specific. Look for the Intel® Graphics Performance Analyzers option (or similar) in your BIOS and set it to Enabled. |