API Support
Intel® Inspector
provides API support that allows you to:
- Gather semantic information related to your synchronization constructs.
- Identify the semantics of yourmalloc-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,
(on certain systems, the directory is
<install-dir>
, is below
C:\Program Files
(x86)\IntelSWTools\
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\
- 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
- Insert__itt_*notifications in appropriate places in your code.
- 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.