You are on page 1of 23

Intel VTune

S u b m i t t e d B y : - Dvijesh Bhatt
What is INTEL
VTUNE?
Intel VTune Performance Analyzer is a software-
analysis tool that monitors the performance of an
application and the computer on which the application
running
Using Intel VTune, you can find the caller and callee
relationships of the function in the application.
(which methods call a given method is known as
the callers and which methods a given method calls is
known as the callees.)
This tool also helps you to identify hotspots and
bottlenecks in the application.
HOTSPOTS &
BOTTLENECKS
After colleting performance related data, you need to
analyze it. Analysis is the process of identifying areas
that take more time to execute. These areas are
called HOTSPOTS.
Some resources that are scarce can limit the
performance of an application. These resources are
called BOTTLENECKS.
Bottleneck are areas that need to wait for busy
resources. (i.e. Memory)
Common bottlenecks are :- 1)Memory operation
2)Memory Alignment 3)Floating point operation
4)System cell
Code Optimization
Optimization is the process to improve application
performance by making the best use of available
resources. Optimization can also speed up process
execution. Optimization is considered as an
alternative to upgrading hardware resources.
Optimization is the process of transforming a piece of
code to make more efficient(either in terms of time or
space) without changing its output or side-effects.
Code optimization involves the application of rules
and algorithms to program code with the goal of
making it faster, smaller, more efficient, and so on.
Featur es of VTune
I. Time-Based & Event-Based Sampling
II. Call Graph
III. Counter Monitor
IV. Tuning Assistant (PTU : Performance Tuning Utility)
V. Hotspots View
VI. Intel Thread Profiler
VII. Source view

. VTune also provides the features like Support for


Microsoft Visual Studio 2005, Latest Operating
System, various processors.
Sampling
Sampling provides developers with the most
accurate representation of their software's actual
performance, with negligible overhead.
Sampling is the process of collecting a set of data
for analysis and representing the analyzed data in
a statistical format .
Two types of sampling :
Time Based Sampling (TSB)
Event Based Sampling (ESB)
Sampling Helps Out :
Identify Hotspots :
A hotspot is a section of code
within a module that takes a long time to
execute. VTune Performance Analyzer
displays Hotspots in Hotspots view.
Identify Bottlenecks:
A bottleneck is an area in the
code that slows down the execution of the
application. VTune Performance Analyzer
also displays the Bottlenecks in the
Hotspots view.
Time Based
The Vtune Sampling
performance Analyzer collects
samples of an activity at regular interval. For that
its use Operating System(OS) timer for collecting
samples.
By default time interval is 1 ms.
The collected samples display the performance
data of all the processes running on the
computer.

PROSSES TAKE TIME TO NUMBER OF


EXECUTE SAMPLES
EVENT Based
Sampling
Count Down
Select Event Sample After
Signal
Number

Underflow
to Zero

Interrupt CPU to Take


Sample Internal Interrupt Controller
EVENT Based
Sampling
EBS is performed on processor events, when you
run an application, processor events, such as
cache miss, also affect the performance of the
application.
By using EBS, you can determine which process,
thread, module, function or code line in the
application is generating the largest number of
processor events.
From the EBS data, you can determine which
process, thread, module, function, and source line
in your program generated the most processor
events, and if any of those events impacted the
performance of your program.
CALL GRAPH
The Call graph collector of VTune Performance Analyzer helps
you obtain information about the functional flow of an
application.
Call graph also helps you obtain information about how many
times function called from a specific location
Call graph collector helps you identify the amount of time
spent on each function when executing its code.
Call graph profiling includes collecting and analyzing function
call information and display the result in the call list, graph and
function summary view. (cont)
CALL GRAPH
The Critical path is the most time-
consuming path in the call sequence of
an application that originates from the
root function.

The edge time is the total time taken by


a callee function to execute when it is
called from specific caller function.
Click to edit Master text styles
Second level
Third level

Fourth level

Fifth level
V iew call gr aph
infor mation
q Graph: provides visual graphical
presentation of the application
execution.
q Call list: provides full information
about time and calls of the focus
function. Focus function is the
function that you highlight in the
function summary or the graph view.
Function summary: provides the
information of all the functions that your
application calls along with the
PERFORMANCE
Performance
Metrics
METRICS
Description

Self TimeTotal time in a function, excluding time


spent in its children (includes wait time)

Total TimeTime measured from a function entry to


exit point

Total Wait TimeTime spent in a function and its children


when the thread is blocked

Wait TimeTime spent in a function when the thread


is blocked (excludes blocked time in its
children)

CallsNumber of times the function is called


Counter Monitor
Counter monitor collects data for specific
performance counter data, such as that of an
application.
Counter monitor collector monitors and
graphically displays performance counter data.
Counter Monitor is generally used to measure
more Operating system type metrics such as
memory usage and availability, page faults, file
I/O rates, etc.
Counter monitor Provides system level
performance information, such as resource
consumption during the execution of an
Advanta ge
It can work with the other two profiling modes.
Counter monitor usually displays results over
time, whereas EBS does not.
Counter monitor also helps to understand the
cause and effect relationship between an
application and system on which the
application is running.
Tuning Assistant
The tuning assistant helps you observe the
performance issues of the application and
provides advice in the for of a tuning advice
report.
The tuning helps you to get more insight into
the performance issues in an application and
identify the hotspots where performance can
be improved.
Click to edit Master text styles
Second level
Third level

Fourth level

Fifth level
Tuning Methodolog y
System-Level Tuning:
The main objective of system-
level tuning is to optimize the utilization of
system resources. The tuning speeds up
application performance by improving the way
the application interacts with the system. And it
is significant for I/O application.
Tuning Methodolog y
Application-level Tuning:
The main purpose of
application-level tuning is to reduce the
execution time of an application. You can
perform application level tuning by improving
the algorithms of the application,
implementing threads and by using
Application Programming Interfaces(API) and
primitives.
Tuning Methodolog y
Micro architecture level Tuning:
Microarchitecture_level Tuning
increases the performance of an application
by improving the way an application runs on
the processor. You can use this type of tuning
with processor-intensive application.
THANK YOU

You might also like