Professional Documents
Culture Documents
Intel Vtune: Presented By: Aman Bhardwaj Hashim Murtaza
Intel Vtune: Presented By: Aman Bhardwaj Hashim Murtaza
1. CALL GRAPH
2. SAMPLING
3. COUNTER MONITORING
4. TUNING ASSISTANT
SUMMARY
INTRODUCTION
Call Graph
Sampling
Counter Monitor
Tunning Assistant
Call Graph & Sampling
Presented by : Aman Bhardwaj
CALL GRAPH
A call graph (also known as a call multigraph)
is a directed graph that represents calling
relationships between subroutines in a computer
program.
Call graphs are a basic program analysis result
that can be used for human understanding of
programs,
VTUNE 6 CALL GRAPH.
Call graphs are a basic program analysis result that can
be used for human understanding of programs, or as a
basis for further analyses, such as an analysis that tracks
the flow of values between procedures. One simple
application of call graphs is finding procedures that are
never called.
Call graphs can be dynamic or static. A dynamic call
graph is a record of an execution of the program, e.g., as
output by a profiler.
A static call graph is a call graph intended to represent
every possible run of the program.
SAMPLING
Sampling is that part of statistical practice concerned
with the selection of an unbiased or random subset of
individual observations within a population of
individuals intended to yield some knowledge about the
population of concern, especially for the purposes of
making predictions based on statistical inference.
There are three main advantages of sampling :
That the cost is lower,
Data collection is faster, and
Since the data set is smaller it is possible to
ensure homogeneity and to improve the accuracy
and quality of the data.
Sampling contains following features :
Process
Population definition
Sampling frame
Sampling Methods
Sampling & data collecting
Counter Monitoring & Tuning
Assistant
Presented By: Hashim Murtaza
COUNTER MONITORING
In computers, hardware performance
counters, or hardware counters are a set of
special-purpose registers built into modern
microprocessors to store the counts of hardware-
related activities within computer systems.
Advanced users often rely on those counters to
conduct low-level performance analysis or
tuning.
The number of available hardware counters in a
processor is limited while each CPU model
might have a lot of different events that a
developer might like to measure. Each counter
can be programmed with the index of an event
type to be monitored, like a L1 cache miss or a
branch mispredict.
Compared to software profilers, hardware
counters provide low-overhead access to a
wealth of detailed performance information
related to CPU's functional units, caches and
main memory etc.
Another benefit of using them is that no source
code modifications are needed in general.
INTEL TUNING ASSISTANT
The Intel® Performance Tuning Utility is a cross-
platform performance analysis tool set. Alongside with
such traditional features as identifying the hottest
modules and functions of the application, tracking call
sequences, identifying performance-critical source code,
Intel PTU has new, more powerful capabilities of data
collection, analysis, and visualization.
The Intel® Performance Tuning Utility offers:
Event Based Sampling
Basic Block Analysis
Events over IP graph
Loop Analysis
Result difference
Data Access Profiling
Statistical Call Graph
Heap Profiler
Instrumentation-based Call Graph, Call Count
The capabilities of this utility for performance analysis
are in many ways similar to that of the Intel® VTune™
Performance Analyzer; however this technology includes
features that may be of more value to those who are
more experienced with performance tuning. This utility
explores some new approaches for data collection and
user interface techniques
SUMMARY
Using Intel VTune™ Performance Analyzer gave us
incredible insight into the Macromedia Flash Player*
and enabled us to validate our changes quickly.“
Intel vTune contains four important feature:
1. Call Graph
2. Sampling
3. Counter Monitoring
4. Tuning Assistant
A call graph (also known as a call multigraph).
Call graphs are a basic program analysis result that can
be used for human understanding of programs,
There are three main advantages of sampling :
1. That the cost is lower,