Intel® VTune™ Amplifier

Basic Hotspots Analysis

Basic Hotspots analysis helps understand application flow and identify sections of code that get a lot of execution time (hotspots). A large number of samples collected at a specific process, thread, or module can imply high processor utilization and potential performance bottlenecks. Some hotspots can be removed, while other hotspots are fundamental to the application functionality and cannot be removed.

Intel® VTune™ Amplifier creates a list of functions in your application ordered by the amount of time spent in each function. It also caprtures the call stacks for each of these functions so you can see how the hot functions are called.

VTune Amplifier uses a low overhead (about 5%) user-mode sampling and tracing collection that gets you the information you need without slowing down application execution significantly.

During Basic Hotspots analysis, the VTune Amplifier data collector profiles your application using the OS timer. The data collector interrupts a process, collects samples of all active instruction addresses, and captures a call sequence (stack) for each sample. VTune Amplifier stores the sampled instruction pointer (IP) along with a call sequence in data collection files, and then analyzes and displays this data in a result tab. Statistically collected IP samples with call sequences enable the VTune Amplifier to display a top-down tree (call tree). Use this data to understand the control flow for statistically important code sections.

The collector does not gather system-wide performance data but focuses on your application only. To analyze system performance, run the Advanced Hotspots analysis.

To use the Basic Hotspots analysis, explore:

Configuration Options

To configure options for the Basic Hotspots analysis:

  1. Click the New Analysis button on the Intel® VTune™ Amplifier toolbar.

    The New Amplifier Result tab opens with the Analysis Type tab active.

  2. Select the Algorithm Analysis > Basic Hotspots analysis type from the analysis tree on the left pane.

    The Basic Hotspots pane opens on the right.

  3. Configure the following options:

CPU sampling interval, ms spin box

Specify an interval between CPU samples: a number (in milliseconds) between 1 and 1000. Default sampling interval is 10 ms.

Analyze user tasks check box

Analyze tasks on the certain tasks in your code specified via Task API.

Analyze GPU usage (Intel HD Graphics only) check box

Analyze GPU usage and identify whether your application is GPU or CPU bound.

Analyze Processor Graphics hardware events drop-down menu

Enable to analyze performance data from Processor Graphics based on the predefined groups of GPU metrics. This option is available only for supported platforms with the Intel® graphics driver installed.

Trace OpenCL and Intel Media SDK programs (Intel HD Graphics only) check box

Capture the execution time of OpenCL™ kernels and Intel Media SDK programs on a GPU, identify performance-critical GPU tasks, and analyze the performance per GPU hardware metrics.

Note

Intel Media SDK programs analysis is supported for Linux targets only.

Details button

Expand/collapse a section listing the default non-editable settings used for this analysis type. If you want to modify these settings for the Basic Hotspots analysis, you need to create a custom configuration by right-clicking the Basic Hotspots entry in the analysis tree and selecting Copy from Current from the context menu. VTune Amplifier creates an editable copy of this analysis type configuration and locates it under the Custom Analysis branch in the analysis tree.

Note

You may generate the command line for this configuration using the Command Line... button at the bottom.

Viewpoints

You can choose to view Basic Hotspots analysis results in any of the following viewpoints:

Viewpoint

Description

Hotspots

Helps identify hotspots - code regions in the application that consume a lot of CPU time.

Hotspots by CPU Usage

Helps identify hotspots - code regions in the application that consume a lot of CPU time. CPU time is broken down into CPU usage states: idle, poor, fair, and good.

Each viewpoint consists of the following windows/panes:

What's Next

You can go from the hotspots to the source code. View the source code containing the hotspots and modify your code to remove bottlenecks and improve the performance of your application.

Information provided by Basic Hotspots analysis is important for tuning serial applications and it is still useful for tuning the serial sections of parallel applications. The Basic Hotspots analysis data helps you understand what your application is doing and identify the code that is critical to tune. For parallel applications running on multi-core systems you may need additional analyses: Concurrency and Locks and Waits.

See Also