[スタックのスティッチ] オプションを使用して、ランタイムからの通知を受け取り、並列ワークロードの開始位置にスタックをアタッチして、インテル® oneAPI スレッディング・ビルディング・ブロック (oneTBB) や OpenMP* アプリケーションの論理的な呼び出しツリーを復元します。
通常、インテル® oneAPI スレッディング・ビルディング・ブロック (oneTBB) や OpenMP* を使用するアプリケーションの実際の実行フローは、コードのフローとは大きく異なります。インテル® ランタイム・ライブラリーを使用する oneTBB や OpenMP* ベースのアプリケーションのユーザーモード・サンプリングとトレース解析中、インテル® VTune™ プロファイラーは自動的に [スタックのスティッチ] オプションを有効にします。OpenMP* や oneTBB オブジェクトの階層を表示するには、[トップダウン・ツリー] ペインのデータを調査します。
論理的に構造化された OpenMP* 呼び出しフローを解析するには、インテル® コンパイラー 13.1 Update 3 以降 (インテル® Composer XE 2013 Update 3 に含まれます) でコードがコンパイルされていることを確認してください。
スタックのスティッチは、インテル® VTune™ プロファイラーからアプリケーションを実行する際 ([アプリケーションを起動] ターゲットタイプ) に利用できます。アプリケーションをアタッチする場合 ([プロセスにアタッチ] 解析タイプ) は動作しません。
例えば、収集のオーバーヘッドを最小限にする場合、スタックのスティッチを無効にします。事前定義されたユーザーモードのサンプリングとトレース解析タイプ (ホットスポットやスレッド化) でこれを行うには、新しいカスタムタイプ解析設定を作成して、カスタム解析設定の [スタックのスティッチ] オプションを無効にする必要があります。コマンドライン解析でも同様に変更された GUI 解析設定を使用できます。その場合、[解析の設定] ウィンドウで [コマンドライン…] ボタンをクリックし、生成されたコマンドラインをターミナルウィンドウにコピーして実行するだけです。または、次のようにrunssオプションを使用して、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* ワーカースレッドの個別のエントリーを表示します。
[スタックのスティッチ] オプションを無効にした [トップダウン・ツリー] ペインのコールスタック。
[スタックのスティッチ] オプションを有効にした [トップダウン・ツリー] ペインのコールスタック (デフォルト動作)。