メモリー使用とトラフィックを調査

精度レベル

High (高)

有効となる解析

レジスタースピル/フィル解析とサーベイ + トリップカウント、FLOP、コールスタック (特性化) + メモリー・アクセス・パターン

追加データを収集すると、レポートの作成時間が長くなる可能性がります。データ収集、結果サイズ、および実行オーバーヘッドを最小化するには、さまざまな手法があります。解析のオーバーヘッドを最小化をオンにします。

結果の解釈

High (高) 精度で完全な特性化およびメモリー・アクセス・パターンの手順を有効にしてベクトル化とコードの調査パースペクティブを実行した後、インテル® Advisor で以下を行います。

サーベイレポートの場合

サーベイレポートの計算パフォーマンス・カラム (ベクトル化のパースペクティブ)

FLOP データを使用して、アプリケーションのメモリー使用量とパフォーマンス値を解析し、適切なベクトル化の方針を決定できます。

計算パフォーマンスのカラム

このカラムを設定して、アプリケーションで使用される特定タイプの操作メトリックのみを表示できます。[Compute Performance (計算パフォーマンス)]カラムのヘッダーにある コントロールをクリックし、目的のドロップダウン・オプションを選択して次の操作を行います。

特定のループ/関数を選択して、[Code Analytics (コード解析)] タブで FLOP / 整数操作の使用率の詳細を確認します。

[Code Analytics (コード解析)] ペインの Details of operation utilization (操作利用率の詳細) (ベクトル化のパースペクティブ)

メモリーカラム

このカラムを設定して、1 つ以上の特定のメモリーレベルおよび操作タイプのメトリックのみを表示できます。[Memory (メモリー)] カラムの歯車アイコンをクリックして、使用するドロップダウン・オプションを選択し、グリッドに表示するカラムを決定します。

このデータは、キャッシュ・シミュレーションが有効である場合にのみ使用できます。デフォルトで、インテル® Advisor は L1 トラフィックのみを収集するため、メモリーレベルのロード/ストアを選択することはできません。

現在のカラムを非表示にするか、[Show All Columns (すべてのカラムを表示)]、または [Configure Column Layouts (カラムレイアウト設定)] を選択してグリッドに表示するカラムをカスタマイズできます。

[計算パフォーマンス] と [メモリー] カラムでレポートされるトラフィックと AI データを使用して、[メモリー・アクセス・パターン] タブでメモリー使用量を調査すべき候補を見つけることができます。例えば、非効率なアクセスパターンは、AI 値が高いループ/関数に強い影響を及ぼします。これは、メモリー使用量の最適化から始めるべきことを示しています。

リファインメント・レポートの場合

重要

メモリー・アクセス・パターン解析を実行する前に、サーベイレポートの カラムで対象とするループ/関数を選択します。

選択したループ/関数のメモリー・アクセス・タイプ、データトラバースの方法、およびメモリー・アクセス・パターン解析によるベクトル効率とキャッシュ帯域幅への影響を調べます。

メモリー・アクセス・パターンは、データをベクトルレジスターにロードおよびベクトルレジスターからストアする方法に影響します。

メモリー・アクセス・パターンを含むリファインメント・レポートの例 (ベクトル化のパースペクティブ)

データ構造の配置がパフォーマンスに与える影響を解析するには、次のことに注意してください。

[Refinement (リファインメント)] レポートの下部にある [メモリー・アクセス・パターン] レポートのタブで、行をダブルクリックして、選択した操作のソースコードを表示します。

[Memory Access Patterns Source (メモリー・アクセス・パターン・ソース)] ウィンドウには、左上から右下へ順に、次のペインがあります。

次のステップ