Intel® VTune™ Amplifier XE and Intel® VTune™ Amplifier for Systems Help

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 (in milliseconds) between CPU samples.

    Possible values - 1-1000.

    The default value is 10.

    Analyze user tasks, events, and counters check box

    Analyze the tasks, events, and counters specified in your code via the ITT API. This option causes a higher overhead and increases the result size.

    The default value is false.

    Analyze OpenMP regions check box

    Instrument and analyze OpenMP regions to detect inefficiencies such as imbalance, lock contention, or overhead on performing scheduling, reduction and atomic operations.

    The default value is false.

    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 analysis, you need to create a custom configuration by right-clicking the analysis 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