Quantcast
Channel: C#
Viewing all articles
Browse latest Browse all 1853

About Performance Analysis with VTune Amplifier

$
0
0

Intel® VTune™ Amplifier introduces the following categories of performance analysis:

  • Algorithm Analysis

  • Microarchitecture and Platform Analysis

  • Power Analysis (for VTune Amplifier for Systems only)

Each category represents a branch in the performance analysis tree. You may choose to run any of the available analysis types either from the product graphical interface or using command line interface (amplxe-cl).

Note

To choose an analysis type from GUI, click the (standalone GUI)/ (Visual Studio IDE)New Analysis button on the VTune Amplifier toolbar. This opens the Analysis Type configuration window with the analysis tree presented in the left pane. To specify the required analysis type from CLI, use the collect option. You may also use the Command Line... button in the Analysis Type configuration window to get a read-to-use command line for an analysis type selected and configured in this window.

All analysis types in the VTune Amplifier are based on one of the following data collection types:

Each analysis type provides a set of performance metrics that helps you sort out the problems in your code and understand how to optimize it.

Besides hardware event-based sampling analysis, the VTune Amplifier also supports analysis for applications using a Graphics Processing Unit (GPU) for rendering, video processing, and computations. You can analyze GPU usage by monitoring Processor Graphics events (available for Intel® HD Graphics only) and identify whether your application is CPU or GPU bound.

VTune Amplifier supports local and remote collection modes via GUI and command line. With VTune Amplifier XE, you can collect data on remote Linux* systems. With VTune Amplifier for Systems, you can collect data on remote Android* and Linux platforms.

All analysis types provided by the VTune Amplifier in the Analysis Type window are predefined by Intel architects and contain a default set of options. You may create custom analysis types based on the available collection types or based on the existing predefined analysis configurations.

Algorithm Analysis

The algorithm analysis branch introduces analysis types targeted for software tuning. You run the analysis and use the collected data to understand the inefficiencies in your current algorithms, and improve application performance. Algorithm analysis includes the following analysis types:

  • Advanced Hotspots: Event-based sampling analysis that monitors all the software executing on your system including the operating system modules. The collector interrupts the processor at the specified sampling interval and collects samples of instruction addresses.

  • Basic Hotspots: Performance analysis based on user-mode sampling and tracing collection. It focuses on a particular target, identifies functions that took the most CPU time to execute, restores the call tree for each function, and shows thread activity.

  • Concurrency: Performance analysis based on user-mode sampling and tracing collection. It focuses on a particular target, identifies functions that took the most CPU time to execute, and shows how well your application is threaded for the existing number of logical CPUs. In Intel System Studio, this analysis type does not support remote data collection on Android systems.

  • Locks and Waits: Performance analysis based on user-mode sampling and tracing collection that helps identify the synchronization objects that might cause ineffective CPU usage. In Intel System Studio, this analysis type does not support remote data collection on Android systems.

Microarchitecture and Platform Analysis

The Microarchitecture Analysis branch introduces a set of CPU Specific Analysis types based on the event-based sampling data collection. You can use only hardware-level analysis types targeted for your system. For a list of CPUs based on a particular microarchitecture, go to Help > Intel Processor Event Reference menu in the standalone interface or Help > Intel VTune Amplifier version> Intel Processor Event Reference in the Microsoft Visual Studio* IDE.

The Knights Corner Platform Analysis branch introduces analysis types specific to the Intel® Xeon Phi™ coprocessor (code name: Knights Corner).

Analysis types shared between all supported CPUs:

  • General Exploration: Event-based analysis that helps identify the most significant hardware issues affecting the performance of your application. Consider this analysis type as a starting point when you do hardware-level analysis.

  • Bandwidth: Event-based analysis that measures the data read and written to DRAM via the processor's integrated memory controller and helps determine whether the code is saturating available bandwidth.

Intel Core 2 Processor Analysis:

  • Bandwidth Breakdown: Event-based analysis that helps understand the contribution of different components of bus transactions (simple reads, reads for ownership, and writes-back) to the code performance.

  • Cycles and uOps: Event-based analysis that helps identify several typical performance issues in the core pipeline.

  • Memory Access: Event-based analysis that helps identify memory access issues and their performance impact from accessing too many memory pages, having L1 data cache and L2 cache load driven misses .

Nehalem / Westmere Analysis:

  • Cycles and uOps: Event-based analysis that helps identify performance issues in the core pipeline and understand the application execution flow.

  • Front End Investigation: Event-based analysis that helps identify instruction-delivery-related performance issues.

  • Memory Access: Event-based analysis that helps understand a memory access pattern and get a direction to its optimization.

  • Read Bandwidth: Event-based analysis that measures the data read from DRAM via the processor's integrated memory controller and helps determine whether the code is saturating available bandwidth.

  • Write Bandwidth: Event-based analysis that measures the data written to DRAM via the processor's integrated memory controller and helps determine whether the code is saturating available bandwidth.

Sandy Bridge Analysis:

  • Access Contention: Event-based sampling analysis that helps you understand where shared memory cacheline contention, lock contention, true and false sharing issues affect the performance of your application.

  • Branch Analysis: Event-based sampling analysis that helps identify branching issues that may lead to wasted work, increasing application runtime and power consumption.

  • Client Analysis: Event-based sampling analysis that helps identify hardware issues affecting client applications.

  • Core Port Saturation: Event-based sampling analysis that helps understand how port saturation affects the performance of your application at a per-core granularity. Look for port/cycle counts above 0.7.

  • Cycles and uOps: Event-based sampling analysis that helps identify performance issues in the core pipeline and understand the application execution flow.

  • Memory Access: Event-based sampling analysis that uses precise events and helps understand where memory access issues affect the performance of your application.

  • Port Saturation: Event-based sampling analysis that helps analyze how port saturation affects the performance of your application at a per-thread granularity. Look for port/cycle counts above 0.7.

Haswell Analysis:

  • TSX Exploration: Event-based sampling analysis that helps analyze Intel Transactional Synchronization Extension usage and causes of transactional aborts.

Knights Corner Platform Analysis:

  • Hotspots: Event-based sampling analysis that monitors all the software executing on your system including the operating system modules. The collector interrupts the processor at the specified sampling interval and collects samples of instruction addresses. Consider this analysis type as a starting point when you do hardware-level analysis on the Intel Xeon Phi coprocessor (code name: Knights Corner).

  • General Exploration: Event-based analysis that helps identify where microarchitectural issues affect the performance of your application. In addition to the default set of events, this analysis type can collect a set of metrics to analyze cache usage and vectorization intensity.

  • Memory Bandwidth: Event-based analysis that helps understand where bandwidth issues affect the performance of your application.

Power Analysis (for VTune Amplifier for Systems only)

Power Analysis branch introduces a set of analysis types based on user-mode sampling and tracing data collection that help you identify behaviors that potentially cause unnecessary power consumption. Power Analysis includes the following analysis types:

  • CPU Sleep States: Power analysis that detects when and what causes the hardware to wake up from a sleep state. This analysis uses a driver for collection and can provide specific source code references for timers that wake up the hardware.

  • CPU Frequency: Power analysis that explores processor frequency changes.

Power analysis provided via VTune Amplifier GUI is supported only for Linux* platforms based on Intel Xeon processors. On Windows* OS, you may import and view results collected on Linux. For remote Power analysis on Android* platforms, use the Intel® Energy Profiler tools to analyze power consumption for your system and identify causes of wake-ups that waste energy. To view the power analysis results collected on an Android system, use the VTune Amplifier for Systems graphical interface.

Inglese

Viewing all articles
Browse latest Browse all 1853

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>