VTune


VTune Profiler is a commercial application for software performance analysis of 32 and 64-bit x86 based machines. It has both a graphical user interface 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.
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:
; 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.