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 XE is /opt/intel/vtune_amplifier_xe_version. For the VTune Amplifier for Systems, the default <install_dir> is:
- For super-users: /opt/intel/system_studio_version/vtune_amplifier_for_systems
- For ordinary users: $HOME/intel/system_studio_version/vtune_amplifier_for_systems
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:
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:
Insert ITT Notifications in Your Application
Insert __itt_* (C/C++) or ITT_* (Fortran) notifications in your source code.
For more information, see Instrumenting Your Application.
Linking the libittnotify.a Static Library to Your Application
You need to link the static library, libittnotify.a, 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.