22
Intel VTune Perform ance Analyzer By- Vikram SinghSaini Sem ester –C Year–2009

Intel VTune

Embed Size (px)

DESCRIPTION

The VTune analyzer provides an integrated performance analysis and tuning environment that helps you analyze your code's performance on systems with IA-32, Intel(R) 64, and IA-64 architecture.

Citation preview

Page 1: Intel VTune

Intel VTune Performance Analyzer

By - Vikram Singh SainiSemester – CYear – 2009

Page 2: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance AnalyzerINTRODUCTION

2

Intel VTune is a software analysis tool that enables you to analyze the performance of your application.

Use Sampling to gain accurate representation of your software’s actual performance.

Produce picture of program flow to identify critical functions & call sequences using Call Graph profiling.

Track system activity and resource consumption during runtime with Counter Monitor.

Tune code more efficiently using Tuning Assistant.

Page 3: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

3

Sampling is the process of collecting set of data for analysis & representing analyzed data in statistical format.

Sampling helps you to identify:- 1. Hotspots – Section of code within module that takes long time to execute. 2. Bottlenecks – Area in the code that slows down the execution of the application.

Two types of sampling mechanism: 1. Time-Based sampling. 2. Event –Based sampling.

SAMPLING

Page 4: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance AnalyzerSAMPLING (Contd…)

TIME – BASED SAMPLING

Collects samples of activity at regular intervals.

Time based sampling uses the OS timer to calculate the time interval for collecting samples.

Collected samples displays the performance data of all the processes running on computer.

The process that takes the longest time to execute contains the largest number of samples.

4

Page 5: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance AnalyzerSAMPLING (Contd…)

5

EVENT – BASED SAMPLING

Page 6: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance AnalyzerSAMPLING (Contd…)

EVENT – BASED SAMPLING

Event based sampling is performed on basis of processor events.

By using EBS, one can determine which process,thread,module,function or code line in the application is generating the largest number of processor events .

Using EBS you can view the corresponding events which are taking part while application is executing.

6

Page 7: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

SAMPLING OVER TIME

SAMPLING (Contd…)

7

Page 8: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

SAMPLING OVER TIME

Sampling OverTime view displays the samples collected with respect to time for a single event.

Enables you to identify which threads are running serially & in parallel at any point in time.

Can gather following information:- @ Context switching @ Processor utilization @ Thread interaction @ Temporal location of Hotspots

SAMPLING (Contd…)

8

Page 9: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

It helps you to obtain information about the functional flow of an application.

One can identify the critical path of the application or module.

Identify function which took long time and can be optimized.

Intel Vtune displays the results of the call graph in three views: I. Graph view. II. Call list view. III. Function summary view.

CALL GRAPHS

9

Page 10: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance AnalyzerCALL GRAPHS (Cont…)

GRAPH VIEW

10

Page 11: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

CALL LIST VIEW

11

CALL GRAPHS (Contd…)

Page 12: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

FUNCTION SUMMARY VIEW

CALL GRAPHS (Contd…)

12

Page 13: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

Counter Monitor identifies system level issues in application when the application runs on the system.

It is used to track system activity and resource consumption during runtime.

Measures and gathers performance -related data that represents the state of the system.

Three views of analyzing the result:- # Runtime data view # Logged data view # Summary data view

COUNTER MONITOR

13

Page 14: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

LOGGED DATA VIEW

COUNTER MONITOR (Contd…)

14

Page 15: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

LEGEND VIEW

COUNTER MONITOR (Contd…)

15

Page 16: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

SUMMARY VIEW

COUNTER MONITOR (Contd…)

16

Page 17: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

Observe the performance issues of your application and provides advice in the form of a tuning advice report.

Application can be tuned at three levels: @ System-Level @ Application-Level @ Microarchitecture - Level

Three strategies to improve performance of app.: - Balancing I/O computation - Improving threading model - Improving efficiency of computation

Tuning Assistant

17

Page 18: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance AnalyzerTuning Assistant (Contd…)

18

Page 19: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance AnalyzerTuning Assistant (Contd…)

Types of Advices- # Sampling-based advice # Counter monitor-based advice # Source-based advice # Static assembly penalties

Static assembly penalties - - Penalty - Warning

Insight - Is a performance issue that can act as bottleneck to the performance of an application.

19

Page 20: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

Categories of Insights - @ Top insights @ Hotspots insights @ Workload insights @ System Info @ Module insights @ Static Analysis

20

Tuning Assistant (Contd…)

Page 21: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance AnalyzerReferences

Help file – Intel VTune.chm

www.intel.com

www.hiperism.com

Book - Intel VTune Performance Analyzer Essentials (Author: James Reinders)

Book - NIIT 3rd Semester Intel VTune

Background of slides is inspired from NIIT slides.

21

Page 22: Intel VTune

Code Optimization and Performance Tuning Using Intel VTune

Intel VTune – Performance AnalyzerIntel VTune – Performance Analyzer

Thanks !Queries are welcome ???

Your queries please

22