パースペクティブ・フローをカスタマイズして、目標とアプリケーションに合わせます。
[解析ワークフロー] タブから解析の設定を変更すると、精度レベルが自動的にカスタマイズされます。この精度レベルを使用して、パースペクティブ・フローや解析プロパティーをカスタマイズできます。
解析プロパティーを変更するには次の操作を行います。
設定可能なプロパティーの完全なセットについては、左にある
アイコンをクリックするか、[File (ファイル)] > [Project Properties (プロジェクトのプロパティー)] に移動します。
次の表に、GPU ルーフラインの調査パースペクティブで設定可能なプロジェクトのプロパティーを示します。
操作 |
説明 |
|---|---|
[Target type (ターゲットタイプ)] ドロップダウン |
[Attach to Process (プロセスにアタッチ)] を選択して、[Survey Hotspots Analysis Type (サーベイ・ホットスポット解析)] から設定を引き継ぐか、必要な設定を指定します。 |
[Inherit settings from Visual Studio project (Visual Studio* プロジェクトから設定を引き継ぐ)] チェックボックスとフィールド (Visual Studio* IDE のみ) |
Visual Studio* のスタートアップ・プロジェクトからインテル® Advisor のプロジェクト・プロパティーを継承します (有効)。 有効にすると、[Application (アプリケーション)]、[Application parameters (アプリケーションの引数)]、および [Working directory (作業ディレクトリー)] に引き継いだ値が設定され、変更することはできません。 注Visual Studio* 2022 では、インテル® Advisor の軽量な統合が提供されます。アプリケーションを設定およびコンパイルし、Visual Studio* からスタンドアロンのインテル® Advisor インターフェイスを開いてさらに解析することができます。すべての設定はスタンドアロンのインテル® Advisor プロジェクトに継承されます。 |
[Application (アプリケーション)] フィールドと [Browse (参照)...] ボタン |
解析ターゲットの実行形式またはスクリプトを選択します。 このフィールドにスクリプトを指定する場合、[高度] > [子アプリケーション] フィールドに実行形式ファイルを指定することを検討してください (依存関係ツールに必要です)。 |
[Application parameters (アプリケーションの引数)] フィールドと [Modify (参照)...] ボタン |
解析実行時に使用する引数を指定します (コマンドライン引数と同等)。 |
[Use application directory as working directory (アプリケーション・ディレクトリーを作業ディレクトリーとして使用)] チェックボックス |
事前に指定された [Working directory (作業ディレクトリー)] の値を、[Application directory (アプリケーション・ディレクトリー)] の値に自動的に適用します (有効)。 |
[Working directory (作業ディレクトリー)] フィールドと [Browse (参照)...] ボタン |
作業ディレクトリーを指定します。 |
[User-defined environment variables (ユーザー定義環境変数)] フィールドと [Modify (変更)...] ボタン |
解析中に使用する環境変数を指定します。 |
[マネージドコードのプロファイル・モード] ドロップダウン |
|
[Child application (子アプリケーション)] フィールド |
開始アプリケーションではないアプリケーションを解析します。以下に例を示します: スクリプト ([Application (アプリケーション)] フィールド確認された) から呼び出される実行形式 (このフィールドで確認された) を解析します。 この方法で解析のオーバーヘッドを軽減できます。 注依存関係解析タイプ: [Application (アプリケーション)] フィールドにスクリプトファイルを指定した場合、[Child application (子アプリケーション)] フィールドにターゲットの実行形式を指定する必要があります。 |
[Modules (モジュール)] ラジオボタンと [Modify (変更)...] ボタン |
モジュールを除外または含めることで、解析のオーバーヘッドを最小化できます。 |
[GPU kernels of interest (注目する GPU カーネル)] フィールドと [Modify... (変更...)] ボタン |
特定のカーネルのみを解析し、オーバーヘッドを最小限に抑えます。 |
[Use MPI launcher (MPI ランチャーを使用)] チェックボックス |
次のパラメーターに基づいて、[Get command line (コマンドラインを取得)] フィールドに表示されるコマンドライン (有効) を生成します。
|
[Automatically stop collection after (sec) (指定時間後に収集を自動停止 (秒))] チェックボックスとフィールド |
指定した秒数後に収集を停止します (有効にして秒数を指定)。 この方法で解析のオーバーヘッドを軽減できます。 |
操作 |
説明 |
|---|---|
[Automatically resume collection after (sec) (指定時間後に収集を自動再開 (秒))] チェックボックスとフィールド |
収集を一時停止した状態でターゲット・アプリケーションの実行を開始し、指定した秒数後に収集を再開します (有効にして秒数を指定)。 この方法で解析のオーバーヘッドを軽減できます。 ヒント対応する CLI アクションオプションは、--resume-after=<integer> です。ここで、<integer> は秒数ではなくミリ秒単位です。 |
[サンプリング間隔] セレクター |
ターゲット・アプリケーションの実行中に、各解析収集の CPU サンプル間の待機時間を設定します。 待機時間を増やすとオーバーヘッドを減らすことができます。 |
[収集データの制限 (MB)] セレクター |
サイズのしきい値を超えると問題が発生する場合は、収集する生データの量を設定します。ハードウェア・イベントベース解析では利用できません。 制限を減らすとオーバーヘッドを減らすことができます。 |
[Callstack unwinding mode (コールスタック・アンワインド・モード)] ドロップダウン・リスト |
次の場合、 After collection (収集後) を設定します。
それ以外では、During Collection (収集中) を設定します。このモードではスタックの精度は向上しますが、オーバーヘッドが増加します。 |
[Stitch stacks (スタックのスティッチ)] チェックボックス |
ランタイムからの通知をキャッチして並列ワークロードに入るポイントでスタックをアタッチすることで、インテル® oneAPI スレッディング・ビルディング・ブロック (oneTBB) や OpenMP* アプリケーションの論理的な呼び出しツリーを復元します (有効)。 サーベイ解析の実行時のオーバーヘッドが 1.1x を超えている場合、無効化します。 |
[Analyze MKL Loops and Functions (MKL ループと関数を解析)] チェックボックス |
インテル® oneAPI マス・カーネル・ライブラリー (oneMKL) のループと関数をインテル® Advisor のレポートに表示します (有効)。 有効にすると解析のオーバーヘッドが増加します。 |
[Python* ループと関数を解析] チェックボックス |
インテル® Advisor のレポートに、Python* ループと関数を表示します (有効)。 有効にすると解析のオーバーヘッドが増加します。 |
[Analyze loops that reside in non-executed code paths (実行されなかったコードパスのループを解析)] チェックボックス |
ループ・アセンブリー・コード、命令セット・アーキテクチャー (ISA)、ベクトル長など、実行されていないコードパスにあるループの解析中に各種データを収集します (有効)。 有効にすると解析のオーバーヘッドが増加します。 注複数の ISA (複数のコードパスを含む) を対象とするバイナリーで実行されていないコードパスの解析は、インテル® コンパイラーで -ax (Linux*)/Qax (Windows*) オプションを使用してコンパイルされたバイナリーでのみ使用できます。 |
[Enable registry spill/fill analysis (レジスターのスピル/フィル解析を有効にする)] チェックボックス |
レジスター内の連続したロード/ストア操作数と、関連するメモリー・トラフィックを計算します (有効)。 有効にすると解析のオーバーヘッドが増加します。 |
[Enable static instruction mix analysis (静的な命令ミックス解析を有効にする)] チェックボックス |
バイナリー内の特定の命令数を静的に計算します (有効)。 有効にすると解析のオーバーヘッドが増加します。 |
[Source caching (ソースをキャッシュ)] ドロップダウン・リスト |
|
操作 |
説明 |
|---|---|
[Inherit settings from the Survey Hotspots Analysis Type (サーベイ・ホットスポット解析タイプから設定を引き継ぐ)] チェックボックス |
サーベイ解析プロパティーから設定をコピーします (有効)。 このオプションを選択すると、アプリケーションの引数は変更できません。 |
[指定時間後に収集を自動再開 (秒)] チェックボックスとフィールド |
収集を一時停止した状態でターゲット・アプリケーションの実行を開始し、指定した秒数後に収集を再開します (有効にして秒数を指定)。 この方法で解析のオーバーヘッドを軽減できます。 ヒント対応する CLI アクションオプションは、--resume-after=<integer> です。ここで、<integer> は秒数ではなくミリ秒単位です。 |
[Collect information about Loop Trip Counts (ループのトリップカウントに関する情報を収集)] チェックボックス |
ループの呼び出しと実行を測定します (有効)。 |
[FLOP、L1 メモリー・トラフィック、およびインテル® AVX-512 マスク使用に関する情報を収集] チェックボックス |
浮動小数点操作、整数操作、およびメモリー・トラフィックを測定します (有効)。 |
[Collect stacks (スタックの収集)] チェックボックス |
解析中にコールスタック情報を収集します (有効)。 有効にすると解析のオーバーヘッドが増加します。 |
[Capture metrics for dynamic loops and functions (動的ループと関数内のメトリックを取得)] チェックボックス |
動的なジャストインタイム (JIT) で生成されたコード領域のメトリックを収集します。 |
[Enable Memory-Level Roofline with cache simulation (キャッシュ・シミュレーションでメモリーレベルのルーフラインを有効にする)] チェックボックス |
各ループでロードおよびストアされたバイト数などのデータに対する複数レベルのキャッシュをモデル化しして、すべてのメモリーレベルのルーフライン・グラフを表示します (有効)。 有効にすると解析のオーバーヘッドが増加します。 注このオプションは、CPU ルーフラインでのみ使用できます。 |
[Cache simulator configuration (キャッシュ・シミュレーター設定)] フィールド |
モデル化するキャッシュ階層の構成を指定します (有効にして階層を指定)。 注このオプションは、CPU ルーフラインでのみ使用できます。階層の設定には次のようなテンプレートがあります。 [num_of_level1_caches]:[num_of_ways_level1_connected]:[level1_cache_size]:[level1_cacheline_size]/ [num_of_level2_caches]:[num_of_ways_level2_connected]:[level2_cache_size]:[level2_cacheline_size]/ [num_of_level3_caches]:[num_of_ways_level3_connected]:[level3_cache_size]:[level3_cacheline_size] 例えば、4:8w:32k:64l/4:4w:256k:64l/1:16w:6m:64l は、次の階層設定を示します。
|