Intel® Inspector User Guide for Windows* OS

ID 767798
Date 10/31/2024
Public
Document Table of Contents

API Support

NOTE:

Intel Inspector 2024.2 is the final version. No further feature improvements or security fixes will be available after this final release. For more information, see the Intel Inspector transition notice.

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.

NOTE:
  • There are no Java or .NET APIs. If you need runtime environment support, you can use a JNI, or C/C++ function call from the managed code. If the collector causes significant overhead or data storage, you can pause the analysis to reduce the overhead.

  • For information on Windows* OS API support, see the Appendix.

Using C/C++ and Fortran APIs

The default Intel Inspector installation path, <install-dir>, is below C:\Program Files (x86)\Intel\oneAPI\inspector\latest (on certain systems, the directory is Program Files).

  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.lib

    • For Fortran, link to <install-dir>\<lib32|lib64>\libittnotify.lib

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.