ビルドシステムの設定

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 フォルダーに移動されました。これらのファイルのコピーは、後方互換のため古い場所に保持され、新しいプロジェクトに使用されてはなりません。

アプリケーションで ITT API ヘッダーやモジュールをインクルード

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 通知を挿入

ソースコードに、__itt_* (C/C++) または ITT_* (Fortran) を挿入します。

C/C++ の例:

__itt_pause();

Fortran の例:

CALL ITT_PAUSE()

詳細は、「アプリケーションをインストルメントする」を参照してください。

libittnotify.a (Linux*、FreeBSD*、Android*) や libittnotify.lib (Windows*) 静的ライブラリーをアプリケーションとリンク

静的ライブラリー 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

関連情報