ITT API は、Windows*、Linux*、FreeBSD* および Android* システムでサポートされます。QNX* システムではサポートされません。
アプリケーションをインストルメントする前に、API ヘッダーとライブラリーにアクセスできるようビルドシステムを構成する必要があります。
Windows* と Linux*:
Linux* システムでは、ITT API の機能を有効にするため、dl および pthread ライブラリーとリンクする必要があります。これらのライブラリーとリンクしなくてもアプリケーションは影響なく実行できますが、ITT API データは収集されません。
FreeBSD*:
ヘッダーとライブラリー・ファイルは、FreeBSD* ターゲットパッケージの vtune_profiler_target_x86_64.tgz から入手できます。詳細は、「FreeBSD* システムの設定」を参照してください。
Android* システムでは、デバイスのアーキテクチャーに応じて次のライブラリーを LIBRARIES パスに追加します。
<install_dir> は、インテル® VTune™ プロファイラーのインストール・ディレクトリーです。インテル® VTune™ プロファイラーのデフォルトのインストール・パスは製品によって異なります。
インテル® VTune™ プロファイラー 2021.1-beta08 リリースから、これまで <install_dir>/include および <install_dir>/lib32 [64] フォルダーにあった ITT API ヘッダー、静的ライブラリー、および Fortran モジュールは、<install_dir>/sdk フォルダーに移動されました。これらのファイルのコピーは、後方互換のため古い場所に保持され、新しいプロジェクトに使用されてはなりません。
C/C++ アプリケーション
インストルメントを行うすべてのソースファイルで、次の #include 文を追加します。
#include <ittnotify.h>
ittnotify.h ヘッダーは、ユーザー・アプリケーションから API を適切に起動するロジックを提供する ITT API ルーチンとマクロの定義を含みます。
ITT API は、トレースが無効にされるとオーバーヘッドがほぼゼロになるように設計されています。しかし、完全にゼロにしたい場合、コンパイル時にプロジェクトの INTEL_NO_ITTNOTIFY_API マクロをコンパイラーコマンドまたはソースファイルで定義して、ittnotify.h ファイルをインクルードすることで、アプリケーションからすべての ITT API 呼び出しをコメントアウトできます。
Fortran アプリケーション
次のソース行のように、ソースファイルに ITTNOTIFY モジュールを追加します。
USE ITTNOTIFY
ソースコードに、__itt_* (C/C++) または ITT_* (Fortran) を挿入します。
C/C++ の例:
__itt_pause();
Fortran の例:
CALL ITT_PAUSE()
詳細は、「アプリケーションをインストルメントする」を参照してください。
静的ライブラリー libittnotify.a (Linux*、FreeBSD*、Android*) や libittnotify.lib (Windows*) をアプリケーションとリンクします。トレースが有効である場合、この静的ライブラリーは ITT API 実装をロードし、ITT API インストルメント・データをインテル® VTune™ プロファイラーに転送します。トレースが無効にされていると、静的ライブラリーは ITT API 呼び出しを無視するため、インストルメントのオーバーヘッドはほぼゼロになります。
アプリケーションのソースに ITT API を追加して libittnotify.a (Linux*、FreeBSD*、Android*) または libittnotify.lib (Windows*) 静的ライブラリーとリンクしインストルメントすると、アプリケーションのアーキテクチャーに応じて、INTEL_LIBITTNOTIFY32 または INTEL_LIBITTNOTIFY64 環境変数がチェックされるようになります。環境変数が設定されていれば、その変数に定義されているライブラリーをロードします。
ittnotify_collector がデータを収集できるように、これらの環境変数は必ず設定してください。
Windows*:
INTEL_LIBITTNOTIFY32=<install-dir>\bin32\runtime\ittnotify_collector.dll
INTEL_LIBITTNOTIFY64=<install-dir>\bin64\runtime\ittnotify_collector.dll
Linux*:
INTEL_LIBITTNOTIFY32=<install-dir>/lib32/runtime/libittnotify_collector.so
INTEL_LIBITTNOTIFY64=<install-dir>/lib64/runtime/libittnotify_collector.so
FreeBSD*:
INTEL_LIBITTNOTIFY64=<target-package>/lib64/runtime/libittnotify_collector.so