User Guide

  • 2021.1
  • 12/04/2020
  • Public Content
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.
  • 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 installation path,
<install-dir>
, is below
C:\Program Files (x86)\IntelSWTools\
(on certain systems, the directory is
Program Files
).
For
Intel® oneAPI HPC Toolkit
or
Intel® oneAPI IoT Toolkit
installations on Windows*, the default installation path is below
C:\Program Files (x86)\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.
      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.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.