このリファレンス・セクションでは、ベクトル化とコードの調査、CPU / メモリー・ルーフラインの調査、およびスレッド化パースペクティブのサーベイとリファインメント・レポートのデータカラムの内容について説明します。
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | XYZ
説明: メモリー・アクセス・タイプ: リード、ライト、リードライト
メモリー・アクセス・パターン解析で収集され、メモリー・アクセス・パターン・レポートに表示されます。
説明: メモリー上の命令アドレス範囲。
解釈: 広い範囲は次のことを示します。
アプリケーションが使用するメモリーが多すぎる。
メモリーの使用量が最適ではない。
説明: 平均ループ・トリップカウント。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件: [ワークフロー] タブで [特性化] の [トリップカウント収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [ループのトリップカウントに関する情報を収集] を有効にします。
説明: シミュレートされたデータ転送操作のキャッシュライン利用率。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
説明: キャッシュよりも上位のメモリー・サブシステムから供給されたメモリーロード操作数。ループの最初のインスタンスで計算されます (コールド CPU キャッシュを想定)。値は仮想キャッシュモデリングの結果です (これ解析は、ハードウェアにより報告される実際のカウンターと一致しない可能性があります)。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
説明: ループ/関数が呼び出された回数。
トリップカウント解析 (特性化) 中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
収集/表示の要件: [ワークフロー] タブで [特性化] の [トリップカウント収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [ループのトリップカウントに関する情報を収集] を有効にします。
解釈: この値が高いと、選択されたループの呼び出しチェーンに高いトリップカウントを持つ外部ループがあることを意味します。ループのトリップカウント値が小さい場合、外部ループがベクトル化やスレッド化の候補となります。
説明: コンパイラーが推測する理論上達成可能な相対的なループのパフォーマンス・スピードアップ、またはベクトル化により達成可能なパフォーマンス・スピードアップを指します。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
同等のメトリックと比較: ゲインの予測は、インテル® Advisor が計算した、ベクトル化によって達成される相対的なパフォーマンス高速化の推測です。
説明: バイナリーの静的解析により提供されるデータ型。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
解釈: 太字は、ベクトル化に使用される主なデータ型を意味します。
説明: 上位のメモリー・サブシステムへアップストリームされたメモリー・トラフィックを示す変更状態により排出されたキャッシュライン数。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
説明: インテル® Advisor が計算した、ベクトル化によって達成される最大ゲインと比較したパフォーマンス・ゲインの推測です。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) に表示されます。
解釈: 通常、達成可能な最大ゲインと比較してどれぐらい効率良くベクトル化が適用されているかを示します (高い値が良い)。
計算/集計:(予測されるゲイン / ベクトル長) * 100%
解釈: データセルにマウスを移動すると詳細が示されます。
説明: ループの最初のインスタンスのメモリーアクセス命令ごとに、インテル® Advisor は次のことを行います。
アクセスされる最小/最大アドレスを追跡。
このメトリックの最大範囲を表示。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
同等のメトリックと比較: このメトリックは、命令ごとの最大アドレス範囲よりも信頼性があります。
最大命令アドレス範囲 |
最初のインスタンスのサイト容量 |
シミュレートされたメモリー容量 |
|
|---|---|---|---|
ループ/サイトで解析されたスレッド数 |
1 |
1 |
1 |
解析されたループ・インスタンス数 |
すべてのインスタンス (いくつかのメモリーアクセス命令はフィルターされます) |
1 |
ループ呼び出し回数の制限に依存:
|
ループでアクセスされるアドレス範囲の重複を認識 |
いいえ |
はい |
はい |
ランダム・メモリー・アクセスを伴うコードの適応性 |
いいえ |
いいえ |
はい |
説明: ループ情報ペイン (サーベイレポート) の親関数、ソースファイル、およびサイト/ループが始まる行番号、およびループ情報ペイン (サーベイレポート) のターゲットとループのトップダウン呼び出しツリーに関する情報
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
解釈:
- スカラー関数。
- ベクトル化された関数。
- スカラーループ。バクトル化が可能な場合があります。
- ベクトル化されたループ。最適化が可能な場合があります。
- ベクトル化された外部ループ内のスカラー内部ループ。最適化が可能な場合があります。
説明: インテル® Advisor が計算する、ベクトル化により達成された相対的なループのパフォーマンスのスピードアップを示す推測値。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) に表示されます。
同等のメトリックと比較: コンパイラーが推測するゲインは、理論上達成可能な相対的なループのパフォーマンス・スピードアップ、またはベクトル化により達成可能なパフォーマンス・スピードアップを指します。
説明: 個々の命令で使用する命令セット・アーキテクチャー (ISA)・
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
説明: ループの平均反復時間。
トリップカウント解析 (特性化) 中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
収集/表示の要件: [ワークフロー] タブで [特性化] の [トリップカウント収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [ループのトリップカウントに関する情報を収集] を有効にします。
説明: ループインスタンスの平均合計時間
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件: [ワークフロー] タブで [特性化] の [トリップカウント収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [ループのトリップカウントに関する情報を収集] を有効にします。
説明: 反復にわたる依存関係のサマリー
依存関係解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
設定可能な値:
RAW (書込み後の読み取り) - フロー依存
WAR (読み取り後の書き込み) - アンチ依存
WAW (書込み後の書込み) - 出力依存
説明: 最大ループ・トリップカウント
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件: [ワークフロー] タブで [特性化] の [トリップカウント収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [ループのトリップカウントに関する情報を収集] を有効にします。
説明: 最小および最大メモリーアドレス間の最大距離 (ループのすべてのインスタンス)。
説明: ループのすべてのインスタンスのメモリーアクセス命令ごとに、インテル® Advisor は次のことを行います。
アクセスされる最小/最大アドレスを追跡。
このメトリックの最大範囲を表示。
インテル® Advisor は、ループのすべてのインスタンスを解析する際に、一部のメモリーアクセス命令をフィルター処理するため値が不正確になる可能性があります。不正確な値は灰色のフォントで示されます。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) とメモリー・アクセス・パターン・レポートに表示されます。
同等のメトリックと比較: このメトリックは、最初のインスタンスサイトの容量よりも信頼性が低くなります。
最大命令アドレス範囲 |
最初のインスタンスのサイト容量 |
シミュレートされたメモリー容量 |
|
|---|---|---|---|
ループ/サイトで解析されたスレッド数 |
1 |
1 |
1 |
解析されたループ・インスタンス数 |
すべてのインスタンス (いくつかのメモリーアクセス命令はフィルターされます) |
1 |
ループ呼び出し回数の制限に依存:
|
ループでアクセスされるアドレス範囲の重複を認識 |
いいえ |
はい |
はい |
ランダム・メモリー・アクセスを伴うコードの適応性 |
いいえ |
いいえ |
はい |
説明: 現在のソース行の命令によってアクセスされる最小/最大メモリーアドレスの最大距離 (ループのすべてのインスタンス間)。
説明: ループの最初のインスタンスでのメモリーロード操作数。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
説明: ループの最初のインスタンスでのメモリーストア操作数。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
説明: CPU とメモリー・サブシステム間のデータ転送数 (GB 単位)。
これは、演算強度 (AI) 計算の基準となるメトリックです。
説明: 最小ループ・トリップカウント
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件: [ワークフロー] タブで [特性化] の [トリップカウント収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [ループのトリップカウントに関する情報を収集] を有効にします。
説明: 実行可能形式またはライブラリー名
[サーベイ解析]、[依存関係解析]、および [メモリー・アクセス・パターン解析] 中に収集され、[ループ情報] ペイン (サーベイレポート)、[高度な表示] ペイン (サーベイレポート)、依存関係レポート、およびメモリー・アクセス・パターン・レポートに表示されます。
説明: ベクトル長を拡張するため、コンパイラーがポンプ最適化を適用した回数。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
説明: ストライド診断が検出された関数 (サイトから呼び出された) の名前。
メモリー・アクセス・パターン解析で収集され、メモリー・アクセス・パターン・レポートに表示されます。
説明: コンパイラー最適化の詳細。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
説明: 検出されたパフォーマンスの問題。
サーベイ解析、およびメモリー・アクセス・パターン解析中に収集され、[ループ情報] ペイン (サーベイレポート) とメモリー・アクセス・パターン解析に表示されます。
解釈: クリックして、問題の原因と推奨される修正に関する確実性レベルを表示します。
説明: 検出された問題の深刻度。
依存関係解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
設定可能な値:
- エラー。
- 警告。
- 情報。
説明: 更新要求 (所有権の要求) によりキャッシュにロードされたキャッシュライン数。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
説明: セルフ L1 転送バイトに対するセルフ GFLOPS の比率。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
[解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
カラム設定で [浮動小数点操作カラムを表示] を選択します。
FLOP 計算でカウントされる命令タイプ:
説明: ループ/関数の実行開始から終了までのセルフ時間ベースのウォール時間 (呼び出し先の時間を除きます)。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
同等のメトリックと比較: 合計経過時間は、ループ/関数の実行開始から終了までの合計時間ベースのウォール時間 (呼び出し先の時間を含みます)。
解釈: シングル・スレッド・アプリケーションのセルフ時間と同じ
説明: 呼び出し先の GFLOP を除くギガ浮動小数点操作。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
[解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
カラム設定で [浮動小数点操作カラムを表示] を選択します。
FLOP 計算でカウントされる命令タイプ:
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
[解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
カラム設定で [浮動小数点操作カラムを表示] を選択します。
FLOP 計算でカウントされる命令タイプ:
説明: ギガ浮動小数点操作とギガ整数操作 (呼び出し先のギガ浮動小数点操作とギガ整数操作を除きます)。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
[解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
カラム設定で [整数と浮動小数点操作の合計カラムを表示] を選択します。
FLOP 計算でカウントされる命令タイプ:
INTOP 計算でカウントされる命令タイプ (デフォルト):
説明: セルフ経過時間に対するセルフ GFLOP + セルフ GINTOP の比率。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
[解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
カラム設定で [整数と浮動小数点操作の合計カラムを表示] を選択します。
FLOP 計算でカウントされる命令タイプ:
INTOP 計算でカウントされる命令タイプ (デフォルト):
説明: 呼び出し先のギガ整数操作を除くギガ整数操作。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
[解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
カラム設定で [整数操作カラムを表示] を選択します。
INTOP 計算でカウントされる命令タイプ (デフォルト):
説明: セルフ GINTOP とセルフ経過時間の比率。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
[解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
カラム設定で [整数操作カラムを表示] を選択します。
INTOP 計算でカウントされる命令タイプ (デフォルト):
説明: セルフ L1 転送バイトに対するセルフ GINTOPS の比率。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
[解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
カラム設定で [整数操作カラムを表示] を選択します。
INTOP 計算でカウントされる命令タイプ (デフォルト):
説明: 呼び出し先の転送を除く、ギガバイト単位の CPU とメモリー・サブシステム間のデータ転送 (キャッシュと DRAM を含む合計トラフィック)。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件: [解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
説明: 呼び出し先の転送を除く、ギガバイト/秒単位の CPU とメモリー・サブシステム間のデータ転送 (キャッシュと DRAM を含む合計トラフィック)。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件: [解析ワークフロー] タブで [特性化] ステップの [FLOP を収集] を有効にするか、[プロジェクトのプロパティー] ダイアログボックスの [トリップカウント & FLOP 解析] タブで [FLOP、L1 メモリー・トラフィック、および AVX-512 マスク使用に関する情報を収集] を有効にします。
計算/集計:セルフ GBs / セルフ経過時間
説明: セルフ L1 転送バイトに対するセルフ GFLOPS + セルフ GINTOPS の比率。
トリップカウント解析 (特性化) 解析中に収集され、ループ情報ペイン (サーベイレポート) に表示されます。
収集/表示の要件:
カラム設定で [整数と浮動小数点操作の合計カラムを表示] を選択します。
FLOP 計算でカウントされる命令タイプ:
INTOP 計算でカウントされる命令タイプ (デフォルト):
説明: 呼び出し先の時間を除く、ループ/関数がアクティブに実行された時間。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
同等のメトリックと比較: 合計時間は、呼び出し先の時間を除く、ループ/関数がアクティブに実行された時間です。説明: ループのすべてのインスタンスのサマリーとオーバーラップを考慮したメモリー容量。
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
収集/表示の要件:
GUI の [プロジェクトのプロパティー] ダイアログボックス:
[CPU キャッシュのシミュレーションを有効にする] を選択します。
[キャッシュ・シミュレーション・モード] ドロップダウン・リストで [キャッシュミス・モデルとループ・フットプリント] を選択します。
必要に応じて、[CPU キャッシュのシミュレーションを有効にする] オプションをオンにします。
CLI の例:
advisor -collect map -mark-up-list=1,2,7,17,26 -enable-cache-simulation -cachesim-mode=footprint -project-dir C:\my_advisor_project -- my_application.exe
同等のメトリックと比較:
最大命令アドレス範囲 |
最初のインスタンスのサイト容量 |
シミュレートされたメモリー容量 |
|
|---|---|---|---|
ループ/サイトで解析されたスレッド数 |
1 |
1 |
1 |
解析されたループ・インスタンス数 |
すべてのインスタンス (いくつかのメモリーアクセス命令はフィルターされます) |
1 |
ループ呼び出し回数の制限に依存:
|
ループでアクセスされるアドレス範囲の重複を認識 |
いいえ |
はい |
はい |
ランダム・メモリー・アクセスを伴うコードの適応性 |
いいえ |
いいえ |
はい |
計算/集計:キャッシュ・シミュレーション中にアクセスされたキャッシュライン数にキャッシュ・ライン・サイズを掛けた値として計算されます。
パフォーマンス上の理由から、すべてのアクセスとキャッシュラインがシミュレートされるわけではありません。代わりに、インテル® Advisor はサブセットを追跡し、キャッシュサイズ全体にスケールして最終的な容量を推測します。
説明: 親関数、ソースファイル、およびサイト/ループ開始行に関する情報。
依存関係解析とメモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
説明: サーベイレポートでソース・アノテーションを使用する際のサイト名、または詳細な解析のためループをマークする際のシーケンス ID。
依存関係解析とメモリー・アクセス・パターン解析で収集され、[ループ情報] ペイン (リファインメント・レポート)、依存関係レポート、およびメモリー・アクセス・パターン・レポートに表示されます。
説明: ソースファイル名と行番号。
サーベイ解析、依存関係解析、およびメモリー・アクセス・パターン解析で収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート)、依存関係レポート、およびメモリー・アクセス・パターン・レポート に表示されます。
説明: 問題セット中の最も深刻な問題の状態。
依存関係解析中に収集され、依存関係レポートに表示されます。
設定可能な値:
回帰] - 未調査。インテル® Advisor による設定:
問題は、ベースラインの結果で解決済みとしてマークされていますが、以降も表示されるためさらに調査する必要があります。
新規] - 未調査。インテル® Advisor またはユーザーによる設定:
問題はベースラインの結果に表示されなかったか、インテル® Advisor が情報を伝えられる古い結果はありませんでした。
未解決] - 未調査。ユーザーによる設定。
問題はベースラインの結果に表示されましたが、まだ調査が必要です。
確認済み] - 調査済み。ユーザーによる設定。
問題の修正が必要ですが、まだ修正されていません。
解決済み] - 調査済み。ユーザーによる設定。
問題を修正する必要がありましたが、すでに修正されています。
問題なし] - 調査済み。ユーザーによる設定。
問題は修正の必要がありません。
延期済み] - 調査済み。ユーザーによる設定。
問題の修正の有無の関する調査を延期しています。
説明: 次の形式のストライド比率: Unit%/Constant%/Variable%
メモリー・アクセス・パターン解析で収集され、ループ情報ペイン (リファインメント・レポート) に表示されます。
説明: ループ/関数の実行開始から終了までの合計時間ベースのウォール時間 (呼び出し先の時間を含みます)。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
同等のメトリックと比較: セルフ経過時間は、ループ/関数の実行開始から終了までのセルフ時間ベースのウォール時間 (呼び出し先の時間を除きます)。
解釈: シングルスレッド・アプリケーションの合計時間と同じです。
説明: 呼び出し先の時間を含む、ループ/関数がアクティブに実行された時間。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
同等のメトリックと比較: セルフ時間は、呼び出し先の時間を除く、ループ/関数がアクティブに実行された時間です。
説明: パフォーマンスに影響するスカラーとベクトル特性。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
設定可能な値:
特性 (Traits) |
ASM 命令の検出 |
|---|---|
除算 |
*DIV* |
平方根 |
*SQRT* |
型変換 |
*CVT* |
NT-ストア |
*MOVNT* |
ギャザー |
*GATHER* |
スキャッター |
*SCATTER* |
シャッフル |
*SHUF* |
パーミュート |
*PERM* |
ブレンド |
*BLEND* |
パック |
*PACK* |
アンパック |
*UNPCK* |
挿入 |
*INSERT* |
抽出 |
*EXTRACT* |
マスク付きストア |
*MASKMOV* |
シフト |
*PROR*、*PROL*、*PSLL*、*PSRA*、*PSRL* |
FMA |
*FMADD*、*FMSUB*、*FNMADD*、*FNMSUB* |
マスク操作 |
*KADD*、*KTEST*、*KAND*、*KOR*、*KXOR*、*KXNOR*、*KNOT*、*KUNPCK*、*KMOV*、*KSHIFT* |
競合検出 |
*VPCONFLICT* |
指数部抽出 |
*VGETEXP* |
仮数部抽出 |
*VGETMANT* |
エクスパンド |
*EXPAND* |
コンプレス |
*COMPRESS* |
*VNNI* |
*VNNI* |
説明: コンパイラーによるループ変換。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
[サーベイ解析]、[依存関係解析]、および [メモリー・アクセス・パターン解析] 中に収集され、[ループ情報] ペイン (サーベイレポート)、[高度な表示] ペイン (サーベイレポート)、依存関係レポート、およびメモリー・アクセス・パターン・レポートに表示されます。
サーベイレポートの値:
ピール/リマインダー - 従属 (子) ループを持つループ。スカラー・ピール・ループまたはリマインダー・ループが実行された場合にのみ表示されます。
スレッド化 - 従属 (子) ループを持つループ。ループで並列フレームワーク (OpenMP*、またはインテル® コンパイラーの自動並列化) が使用される場合に表示されます。
ベクトル化 (<ループ部分>) - ベクトル化された親と子ループ。親ループでピール、本体、リマインダー・ループのいずれかが実行されると表示されます。また、子ループがピール、本体、リマインダー・ループのいずれかである場合にも表示されます。
ピール - ループ本体のメモリーアクセスをアライメントし効率を最大化するため、コンパイラーによって生成される小さなループ。
本体 - ベクトル化されたループ (コンパイラーがソースのループから生成) 。通常ループ本体はピールやリマインダーよりも多くのデータを処理するため、大部分のループ反復はループ本体で実行されるべきです。本体内のベクトル長は、通常ピールやリマインダーよりも大きく、これはループ本体がパフォーマンス上最も効率良い場所であることを意味します。
リマインダー - ループ本体のスコープに収まらない残りのループ反復を処理するため、コンパイラーによって生成されるループ。
[未実行] - ループが実行されなかった場合、ほかのループメトリックの隣にマークが示されます。
スカラー - ベクトル化されていないループが実行されると表示されます。
完全にアンロール - コンパイラーによってループ本体が複数回 (トリップカウント値と同じ) コピーされると表示されます。
内部のベクトル化 - 内部ループが外部ループとともにベクトル化されると表示されます。
インライン展開された関数 - 関数本体がループまたは関数にインライン展開されると表示されます。
ベクトル関数 - SIMD 対応バージョンの関数が実行されると表示されます。(詳細はインテル® コンパイラーのドキュメントを参照してください)。
関数 - スカラーバージョンの関数が実行されると表示さます。
メモリー・アクセス・パターン・レポートの値:
ユニフォーム・ストライド 0 - 命令は反復間で同じメモリーにアクセスします。
理想的な状況であり改善の必要はありません。
ユニットストライド (ストライド 1 ) - 命令は反復から次の反復で 1 つずつ変化するメモリー要素にアクセスします。
理想的な状況であり改善の必要はありません。
定数ストライド (ストライド N) - 命令は反復間で N 要素 (N>1) ずつ変化するメモリーにアクセスします。
コードは多くのメモリーとキャッシュラインを必要とします。AOS/SOA 最適化に関連する推奨事項の導入を検討してください。
不規則なストライド - 命令は反復間で予測できない要素数で変化するメモリーにアクセスします。
ベクトル化を制限したりベクトル化できないことがあります。
ギャザー (不規則) ストライド - インテル® AVX2 命令セット・アーキテクチャー (ISA) の v(p)gather* 命令を検出します。
コンパイラーは、不規則なメモリー・アクセス・パターンのコードをベクトル化しました。メモリー・アクセス・パターンを一定にするようにコードを改善することを検討してください。
依存関係レポート値 - 問題とメッセージタイプを参照してください。
説明: コンパイラーにより適用されたループアンロール係数。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
説明: 依存関係またはメモリー・アクセス・ストライドが検出された変数名。
依存関係解析とメモリー・アクセス・パターン解析で収集され、依存関係レポートとメモリー・アクセス・パターン・レポートに表示されます。
説明: それぞれの命令に使用される最上位のベクトル命令セット・アーキテクチャー。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
同等のメトリックと比較: コンパイラー・オプションx、Qx/ax、Qaxで対応するコードパスが追加されると、現在のハードウェアの ISA よりも上位の ISA が表示されます。実行されていないコードパスの ISA を表示するには、[プロジェクトのプロパティー] で [実行されなかったコードパスのループを解析] オプションを有効にします。
説明: ベクトルレジスター幅 (ビット)。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
設定可能な値: 32、64、128、256、512 を含む値の組み合わせを指定します。値は「/ または ;」で区切ります。
説明: ベクトル化に関するコンパイラーの注釈。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
説明: 値は、単一のベクトルループ反復で処理される要素数、またはそれぞれのベクトル命令で処理される要素数を意味します。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
計算/集計: バイナリー静的解析またはコンパイラーによって想定されます。
説明: コンパイラーがベクトル化できなかった理由。
サーベイ解析中に収集され、[ループ情報] ペイン (サーベイレポート) と[高度な表示] ペイン (サーベイレポート) に表示されます。
解釈: クリックして、問題の原因と推奨される修正を表示します。