Standalone GUI: Build Application and Create New Project

Before you start analyzing your application for locks and waits, do the following:

  1. Get software tools.

  2. Build application.

    If you build the code in Visual Studio*, make sure to:

  3. Create a performance baseline.

  4. Create a VTune Amplifier project.

Get Software Tools

You need the following tools to try tutorial steps yourself using the tachyon sample application:

  • Intel® VTune™ Amplifier, including sample applications
  • zip file extraction utility
  • Supported compiler (see Release Notes for more information)

Acquire Intel VTune Amplifier

If you do not already have access to the VTune Amplifier, you can download an evaluation copy from


This document focuses on using the VTune™ Amplifier in Intel® Parallel Studio XE Professional Edition. You may see minor differences if you installed a different Intel product. For more information on product capabilities in your installed product, see the product-specific supplemental documentation in <install-dir>/<Intel_product>/documentation/.

Install and Set Up VTune Amplifier Sample Applications

  1. Copy the file from the <install-dir>\samples\<locale>\C++\ directory to a writable directory or share on your system.


    The default installation path for the VTune Amplifier XE is [Program Files]\IntelSWTools\VTune Amplifier XE <version>. For the VTune Amplifier for Systems, the default <install_dir> is [Program Files]\IntelSWTools\system_studio_<version>\VTune Amplifier for Systems.

  2. Extract the sample from the .zip file.


  • Samples are non-deterministic. Your screens may vary from the screen captures shown throughout this tutorial.
  • Samples are designed only to illustrate the VTune Amplifier features; they do not represent best practices for creating code.
  • The steps below are provided for Microsoft Visual Studio* 2013. Steps for other versions of Visual Studio IDE may differ slightly.

Configure the Microsoft* Symbol Server

Configure the Visual Studio environment to download the debug information for system libraries so that the VTune Amplifier can properly identify system functions and classify/attribute functions.

  1. Go to Tools > Options....

    The Options dialog box opens.

  2. From the left pane, select Debugging > Symbols.

  3. In the Symbol file (.pdb) locations field, make sure the Microsoft Symbol Servers location is selected. Otherwise, click the Add button, specify the following address:, and make sure the added address is checked.

  4. In the Cache symbols in this directory field, specify a directory where the downloaded symbol files will be stored.

  5. Click Ok.

Verify Optimal Compiler/Linker Options

Configure Visual Studio project properties to generate the debug information for your application so that the VTune Amplifier can open the source code.

  1. Select the analyze_locks project and go to Project > Properties.

  2. From the analyze_locks Property Pages dialog box, select Configuration Properties > General and make sure the selected Configuration (top of the dialog) is Release.

  3. From the analyze_locks Property Pages dialog box, select C/C++ > General pane and specify the Debug Information Format as Program Database (/Zi).

  4. From the analyze_locks Property Pages dialog box, select Linker > Debugging and set the Generate Debug Info option to Yes (/DEBUG).

  5. Click Ok.

Build the Target in the Release Mode

Build the target in the Release mode with full optimizations, which is recommended for performance analysis.

  1. Go to the Build > Configuration Manager... dialog box and select the Release mode for your target project.

  2. From the Visual Studio menu, select Build > Build analyze_locks.

    The analyze_locks.exe application is built.


The build configuration for tachyon may initially be set to Debug, which is typically used for development. When analyzing performance issues with the VTune Amplifier, you are recommended to use the Release build with normal optimizations. In this way, the VTune Amplifier is able to analyze the realistic performance of your application.

Create a Performance Baseline

  1. From the Visual Studio menu, select Debug > Start Without Debugging.

    The analyze_locks application runs in multiple sections (depending on the number of CPUs in your system).


    Before you start the application, minimize the amount of other software running on your computer to get more accurate results.

  2. Note the execution time displayed in the window caption. For the analyze_locks executable in the figure above, the execution time is 16.848 seconds. The total execution time is the baseline against which you will compare subsequent runs of the application.


    Run the application several times, note the execution time for each run, and use the average number. This helps to minimize skewed results due to transient system activity.

Create a Project

  1. From the Start menu launch Intel VTune Amplifier version.

  2. Click the menu button and select New > Project... to create a new project.

    The Create a Project dialog box opens.

  3. Specify the project name tachyon that will be used as the project directory name.

    VTune Amplifier creates a project directory under the %USERPROFILE%\My Documents\Amplifier XE\Projects (for VTune Amplifier XE) or %USERPROFILE%\My Documents\Amplifier for Systems\Projects (for VTune Amplifier for Systems) directory and opens the Choose Target and Analysis Type window with the Analysis Target tab active.

  4. From the left pane, select the local target system from the Accessible Targets group. From the right pane select the Launch Application target type.

    The configuration pane is updated with the settings specific to the selected target type.

  5. Specify and configure your target as follows:

    • For the Application field, browse to: <tachyon_dir>\analyze_locks.exe.

    • For the Application parameters field, specify <tachyon_dir>\dat\balls.dat.

    Analysis Target Configuration
  6. Click the Choose Analysis button on the right to switch to the analysis type configuration.

Key Terms

For more complete information about compiler optimizations, see our Optimization Notice.