インテル® VTune™ Amplifier 2018 ヘルプ

インテル® TBB や OpenMP* 解析のスタックの関連付け

[Stitch stacks (スタックを関連付け)] オプションを使用し、インテル® スレッディング・ビルディング・ブロック (インテル® TBB) や OpenMP* アプリケーションがランタイムからの通知を受け取ることで論理的な呼び出しツリーを復元して、スタックを並列ワークロードに関連付けます。

インテル® TBB や OpenMP* を使用するアプリケーションの実際の実行フローは、一般にコードフロートは異なります。インテルのランタイム・ライブラリーを使用するインテル® TBB や OpenMP* アプリケーションのユーザーモード・サンプリングとトレース解析中には、インテル® VTune™ Amplifier は自動的に [Stitch stacks] オプションを有効にします。OpenMP* やインテル® TBB オブジェクトの階層は、[Top-down Tree (トップダウン・ツリー)] ペインで確認できます。

  • 構造化された OpenMP* の呼び出しフローを解析するには、インテル® コンパイラー 13.1 Update 3 以降 (インテル® Composer XE 2013 Update 3 に含まれる) でコードをコンパイルして実行します。

  • スタックの関連付けは、アプリケーションがインテル® VTune™ Amplifier ([Launch Application (アプリケーションを起動)] ターゲットタイプ) から実行されている場合に利用できます。プロセスをアタッチ ([Attach to Process (プロセスにアタッチ)] ターゲットタイプ) した場合は動作しません。

スタックの関連付けを無効にすると、収集のオーバーヘッドを最小化できます。事前定義されたユーザーモード・サンプリングとトレース収集タイプ (基本ホットスポットや並行性など) でこれを行うには、新しくカスタム解析設定を作成して、[Custom Analysis (カスタム解析)] ダイアログボックスで [Stitch stacks] オプションを無効にします。修正した GUI 解析設定はコマンドライン解析でも使用できます。[Analysis Type (解析タイプ)] ウィンドウで [Command Line... (コマンドライン...)] ボタンをクリックし、生成されたコマンドラインをコピーして、ターミナルウィンドウから実行します。別の方法として、手動でコマンドラインを設定してカスタム runss 解析で knob stack-stitching=trueオプションを次のように使用します。

> amplxe-cl -collect-with runss -knob cpu-samples-mode=stack -knob stack-stitching=false -knob mrte-type=java,dotnet,python -app-working-dir <path> -- <アプリケーション>

この場合、[Top-down Tree] ペイン (または top-down レポート) には、OpenMP* ワーカースレッドが異なるエントリーで表示されます。

[Stitch stacks] オプションが無効化された [Top-down Tree] ペインのコールスタック:

[Stitch stacks] オプションが有効化された [Top-down Tree] ペインのコールスタック (デフォルト):

関連情報