VTune

VTune Profiler (formerly VTune Amplifier) is a commercial application for software performance analysis of 32 and 64-bit x86 based machines. It has both a graphical user interface (GUI) and command line and comes in versions for Linux or Microsoft Windows operating systems. An optional download lets you analyze the Windows or Linux data with a GUI on macOS. Many features work on both Intel and AMD hardware, but advanced hardware-based sampling requires an Intel-manufactured CPU.

VTune Profiler
Developer(s)Intel Developer Products
Stable release
2020 / December 17, 2019 (2019-12-17)[1]
Operating systemWindows and Linux (UI-only on macOS)
TypeProfiler
LicenseProprietary and Freeware
Websitesoftware.intel.com/vtune 

It is available as part of Intel Parallel Studio or as a stand-alone product.

Code optimization

VTune Profiler assists in various kinds of code profiling including stack sampling, thread profiling and hardware event sampling. The profiler result consists of details such as time spent in each sub routine which can be drilled down to the instruction level. The time taken by the instructions are indicative of any stalls in the pipeline during instruction execution. The tool can be also used to analyze thread and storage performance.

Features

Software sampling
Works on x86 compatible processors and gives both the locations where time is spent and the call stack used.
JIT profiling support
Profiles dynamically generated code.
Locks and waits analysis
Finds long synchronization waits that occur when cores are underutilized.
Threading timeline
Shows thread relationships to identify load balancing and synchronization issues. It can also be used to select a region of time and filter the results. This can remove the clutter of data gathered during uninteresting times like application start-up.
Source view
Sampling results are displayed line by line on the source / assembly code.
Hardware event sampling
This uses the on chip performance monitoring unit and requires an Intel processor. It can find specific tuning opportunities like cache misses and branch mispredictions.
Memory Access Analysis
Tune data structures for performance and optimize NUMA latency and scalability.
Storage Analysis
Tune interplay of I/O and compute.
Languages
C, C++, C#, Fortran, Java, Python, Go, OpenCL, assembly and any mix. Other native languages that follow standards can also be profiled.

See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.