Intel® Inspector User Guide for Linux* OS

ID 767796
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

API Support

Intel® Inspector provides API support that allows you to:

  • Gather semantic information related to your synchronization constructs.

  • Identify the semantics of your malloc-like heap management functions.

  • Specify which parts of your application should be analyzed.

Applications or modules linked to the static API library do not have a runtime dependency on a dynamic library, so they can be executed independently of Intel Inspector and other Intel studio tools.

Using C/C++ and Fortran APIs

The default installation path, <install-dir>, is below /opt/intel/. For Intel® oneAPI HPC Toolkit or Intel® oneAPI IoT Toolkit installations on Linux*, the default installation path is below /opt/intel/oneapi.

  1. Specify this file in your code:

    • For C/C++, include <install-dir>/include/ittnotify.h

    • For Fortran, use <install-dir>/include/<ia32|intel64>/ittnotify.mod

  2. Insert __itt_* notifications in appropriate places in your code.
  3. Link to this file:

    • For C/C++, link to <install-dir>/<lib32|lib64>/libittnotify.a

    • For Fortran, link to <install_dir>/<lib32|lib64>/libittnotify.a

Conditional Compilation for Release Versions

For best performance in the release version of your code, use conditional compilation to turn off all annotations. To eliminate all __itt_* functions from your code during compilation of the release version, define the macro INTEL_NO_ITTNOTIFY_API before including ittnotify.h.

You can also define this macro to remove the static library during the linking stage.