Visible to Intel only — GUID: GUID-E5B04D9A-10B3-403C-8A8E-4AD48FE6F930
Visible to Intel only — GUID: GUID-E5B04D9A-10B3-403C-8A8E-4AD48FE6F930
Introduction
Intel® VTune™ Profiler is a performance analysis tool for serial and multithreaded applications. Use VTune Profiler to analyze your choice of algorithm. Identify potential benefits for your application from available hardware resources.
Use VTune Profiler to locate or determine:
The most time-consuming (hot) functions in your application and/or on the whole system
Sections of code that do not effectively utilize available processor time
The best sections of code to optimize for sequential performance and for threaded performance
Synchronization objects that affect the application performance
Whether, where, and why your application spends time on input/output operations
Whether your application is CPU or GPU bound and how effectively it offloads code to the GPU
The performance impact of different synchronization methods, different numbers of threads, or different algorithms
Thread activity and transitions
Hardware-related issues in your code such as data sharing, cache misses, branch misprediction, and others
Usage Models
Install VTune Profiler on Windows* or Linux* platforms and use it to analyze local and remote target systems.
- Use the GUI or run analyses from the command line interface (vtune) to collect data and perform regression testing.
Use VTune Profiler as a web server. This is an optimal solution for multi-user environments.
Install the standalone GUI client or integrate VTune Profiler into IDEs, such as Microsoft Visual Studio* or Eclipse*.
Documentation for versions of VTune Profiler prior to the 2021 release are available for download only. For a list of available documentation downloads by product version, see these pages:
Key Features
This table summarizes the availability of important analysis types per host and remote target platform using VTune Profiler:
Analysis |
Windows Target |
Linux Target |
Android Target |
FreeBSD* Target |
---|---|---|---|---|
+ |
+ |
+ |
||
+ |
+ |
|||
+ |
+ |
+ |
+ |
|
+ |
||||
IDE (Eclipse*/Visual Studio*) |
+ |
+ |
||
+ |
+ |
|||
+ |
+ |
+ |
+ |
|
+ |
+ |
|||
+ |
||||
+ |
+4 |
|||
+ |
||||
+ |
+ |
+ |
+ |
|
+ |
+² |
+ |
||
+¹ |
+¹ |
|||
+ |
+² |
|||
+² |
||||
+ |
+ |
+ |
||
+ |
||||
+ |
+ |
|||
+³ |
+³ |
|||
+ |
+ |
|||
+ |
+ |
|||
+ |
||||
+ |
+ |
|||
+ |
||||
Energy analysis (visualization only) |
+ |
+ |
+ |
¹Preview only; ²Intel HD Graphics and Intel Iris® Graphics only; ³EBS analysis only; 4Hardware event-based metrics only, excl. MMIO accesses, DPDK, SPDK
VTune Profiler provides features that facilitate the analysis and interpretation of the results:
Top-down tree analysis: Use to understand which execution flow in your application is more performance-critical.
Timeline analysis: Analyze thread activity and the transitions between threads.
ITT API analysis: Use the ITT API to mark significant transition points in your code and analyze performance per frame, task, and so on.
Architecture diagram: Analyze GPU OpenCL™ applications by exploring the GPU hardware metrics per GPU architecture blocks.
Source analysis: View source with performance data attributed per source line to explore possible causes of an issue.
Comparison analysis: Compare performance analysis results for several application runs to localize the performance changes you got after optimization.
Start data collection paused mode: Click the Start Paused button on the command bar to start the application without collecting performance data and click the Resume button to enable the collection at the right moment.
Grouping: Group your data by different granularity in the grid view to analyze the problem from different angles.
Viewpoints: Choose among preset configurations of windows and panes available for the analysis result. This helps focus on particular performance problems.
Hot keys to start and stop the analysis: Use a batch file to create hot keys to start and stop a particular analysis.
Because VTune Profiler requires specific knowledge of assembly-level instructions, its analysis may not operate correctly if a program (target) is compiled to generate non-Intel architecture instructions. In this case, run the analysis with a target executable compiled to generate only Intel instructions. After you finish using VTune Profiler, you can use optimizing compiler options that generate non-Intel architecture instructions.