Intel® VTune™ Amplifier Support


What is the difference between "Basic Hotspots" and "Advanced Hotspots"?

Basic Hotspots

  • Uses the software collector
  • No drivers required
  • Runs on Intel and compatible processors
  • ~10ms resolution
  • Collects call stacks  to show calling sequences
  • Works in virtual environments

Advanced Hotspots

  • Uses the hardware collector and the on chip Performance
  • Requires a driver
  • Requires a genuine Intel® processor for collection
  • ~1ms resolution (finds smaller functions)
  • NEW - Optional call stack collection
  • Works in a virtual environment only when supported by the VM vendor (e.g., vSphere* 5.1)
Do I need to recompile?
No, you do not need to recompile in order to profile with Intel® VTune Amplifier XE. However, it is recommended that you have debug and symbol information available for your optimized application in order to get the most complete and useful results. Thus, your release build process may need to be modified to add symbol information to the optimized build.
Why can’t I see my source code?

There are several possible reasons why VTune Amplifier XE may be unable to see your source.

In order for source code to be visible you need to compile your code so that debug information is available. For example, on Linux*, verify you are compiling with the “-g” flag.

You also need to let VTune Amplifier XE know where your source files, binary files and symbol files are located. To do this, open or create a Project and click on the “Project Properties” button. In the Project properties dialog, click on the “Search Directories” tab. In the pull down menu, click on “All files” and then specify the directory where your files exist. If you have any subdirectories remember to check the “Search subdirectories” box.

Do I need to be root to run the hardware collector used with "Advanced Hotspots" and "Advanced Analysis"?
No. On Linux*, you need to be root to install the driver for the hardware collector, but once it is installed root access is not required. On Linux*, depending upon the install options selected, you may need to be a member of the driver access group (“vtune ” by default) to use the hardware collector. The hardware collector is used for advanced hotspots analysis and advanced analysis. For more information see “Installing the Sampling Driver” in the documentation.
Why can’t I import results?
In order to import results into VTune Amplifier XE, you must first create a project to contain the imported results. In the VTune Amplifier XE, click on the File->New->Project menu. This will bring up a dialog asking you to select a project name. Enter a name and press “OK”. VTune Amplifier XE will display the “Project Properties” dialog. If you are only importing results into the project then you will not need to specify an application name. However, if you want to view source of the imported results, you need to specify the search directories where your source and binaries are located. In the Project properties dialog, click on the “Search Directories” tab. In the pull down menu, click on “All files” and then specify the directory where your files exist. If you have any subdirectories remember to check the “Search subdirectories” box.
I added a path to the Search Directories, but nothing changed?
The Search Directories are used during finalization and that normally occurs after data collection completes. In order for new “Search directory” paths to take affect VTune Amplifier XE must re-resolve your results with the new information provided. Click on the “Analysis Type” tab and then press the “Re-resolve” button on the far right, located directly below the “Start” and “Project Properties” buttons.
Why do the sample counts look wrong?

Sometimes, the sample counts may be displayed on source lines that are not normally associated with executable code, for example, the closing brace of a ‘for’ or ‘while’ loop. This may appear to be an error but is a result of the instructions generated by the compiler. Viewing the assembly code can reveal that the debug information for the assembly instructions to which the samples are attributed, are tagged as belonging to that source line, i.e., the closing brace.

Other times, viewing of the assembly instructions may show that certain hardware events were collected on instructions that could not possibility generate that event, e.g., a memory event on a jump instruction or an arithmetic event on a memory instruction. This is known as “event skid” and is a result of the processor being unable to stop the execution of some micro-ops before sampling the instruction pointer. Thus, the IP is pointing at a subsequent instruction by the time the sample is taken. Typically, you can determine which instruction was responsible for the event by examining the instruction flow.

How can I use Intel® VTune Amplifier XE to see how much time is spent doing Disk I/O?
If your application is doing blocking I/O, the function call attributed to the file accesses should appear in Basic Hotspots Analysis. Additionally, if you have multiple threads waiting to access a single file, the synchronization object protecting the file , e.g. a Critical Section, should show up in the Locks and Waits analysis. Additionally, starting with VTune™ Amplifier XE 2017, there is an analysis type specifically dedicated to Disk I/O.