Configuring Your Build System

Before instrumenting your application, you need to configure your build system to be able to reach the API headers and libraries.

<install_dir> is the Intel® VTune™Amplifier installation directory.

  • Add <install_dir>/include to your INCLUDE path for C/C++ applications or <install_dir>/include/[intel64 or ia32 to your INCLUDE path for Fortran applications
  • Add <install_dir>/lib32 to your 32-bit LIBRARIES path
  • Add <install_dir>/lib64 to your 64-bit LIBRARIES path
  • For Intel® Many Integrated Core Architecture (Intel® MIC Architecture), add <install_dir>/bin64/k1om to your 64-bit binary path

The default installation path for the VTune Amplifier is [Program Files]\IntelSWTools\VTune Amplifier <version> on Windows* and /opt/intel/vtune_amplifier_version on Linux*. For the Intel System Studio, the default <install_dir>of the VTune Amplifier is [Program Files]\IntelSWTools\system_studio_<version>\VTune Amplifier on Windows* and one of the following on Linux:

  • For super-users: /opt/intel/system_studio_version/vtune_amplifier
  • For ordinary users: $HOME/intel/system_studio_version/vtune_amplifier

Including the ITT API Header or Module in Your Application

For C/C++ Applications

Add the following #include statements to every source file that you want to instrument:

#include <ittnotify.h>

The ittnotify.h header contains definitions of ITT API routines and important macros which provide the correct logic of API invocation from a user application.

The ITT API is designed to incur almost zero overhead when tracing is disabled. But if you need fully zero overhead, you can compile out all ITT API calls from your application by defining the INTEL_NO_ITTNOTIFY_API macro in your project at compile time, either on the compiler command line, or in your source file, prior to including the ittnotify.h file.

For Fortran Applications

Add the ITTNOTIFY module to your source files with the following source line:

USE ITTNOTIFY

Insert ITT Notifications in Your Application

Insert __itt_* (C/C++) or ITT_* (Fortran) notifications in your source code.

C/C++ example:

__itt_pause();

Fortran example:

CALL ITT_PAUSE()

For more information, see Instrumenting Your Application.

Linking the libittnotify.a (Linux*) or libittnotify.lib (Windows*) Static Library to Your Application

You need to link the static library, libittnotify.a (Linux) or libittnotify.lib (Windows), to your application. If tracing is enabled, this static library loads the ITT API implementation and forwards ITT API instrumentation data to VTune Amplifier .

If tracing is disabled, the static library ignores ITT API calls, providing nearly zero instrumentation overhead.

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