インテル® VTune™ プロファイラー・ユーザーガイド

インテル® TBB または OpenMP* 解析のスタックのスティッチ

インテル® TBB や OpenMP* 解析で [スタックのスティッチ] オプションを使用し、アプリケーションがランタイムからの通知を受け取ることで論理的な呼び出しツリーを復元して、スタックを並列ワークロードに対応付けます。

通常、インテル® スレッディング・ビルディング・ブロック (インテル® TBB) や OpenMP* を使用するアプリケーションの実際の実行フローは、コードのフロートとは大きく異なります。インテル® ランタイム・ライブラリーを使用するインテル® TBB や OpenMP* ベースのアプリケーションの ユーザーモード・サンプリングとトレース解析中、インテル® VTune™ プロファイラーは自動的に [スタックのスティッチ] オプションを有効にします。OpenMP* やインテル® TBB オブジェクトの階層を表示するには、 [トップダウン・ツリー] ペインのデータを調査します。

  • 論理的に構造化された OpenMP* 呼び出しフローを解析するには、インテル® コンパイラー 13.1 Update 3 以降 (インテル® Composer XE 2013 Update 3 に含まれます) でコードがコンパイルされていることを確認してください。

  • スタックのスティッチは、インテル® VTune™ プロファイラーからアプリケーションを実行する [アプリケーションを起動] ターゲットタイプで利用できます。アプリケーションをアタッチする [プロセスにアタッチ] 解析タイプでは動作しません。

例えば、収集のオーバーヘッドを最小限にする場合、事前定義されたユーザーモード・サンプリングとトレース解析タイプ (ホットスポットやスレッド化) でこれを行うには、新しいカスタムタイプ解析設定を作成して、カスタム解析設定の [スタックのスティッチ] オプションを無効にする必要があります。コマンドライン解析でも同様に変更された GUI 解析設定を使用できます。これには、 [解析の設定] ウィンドウで [コマンドライン…] ボタンをクリックし、 生成されたコマンドラインをターミナルウィンドウにコピーして実行するだけです。また、次のように knob stack-stitching=false オプションを使用して、カスタム runss 解析のコマンドラインを手動で設定できます。

> vtune -collect-with runss -knob cpu-samples-mode=stack -knob stack-stitching=false -knob mrte-type=java,dotnet,python -app-working-dir <path> -- <application>

この場合、 [トップダウン・ツリー] ペイン (または top-down レポート) には、OpenMP* ワーカースレッドの個別のエントリーを表示されます。

[スタックのスティッチ] オプションを無効にした [トップダウン・ツリー] [トップダウン・ツリー]

[スタックのスティッチ] オプションを有効にした [トップダウン・ツリー] ペインのコールスタック (デフォルト動作)。

関連情報