メモリー・アクセス・パターンの解析結果は、[Refinement Reports (リファインメント・レポート)] のトップパネルと、その右下の [Memory Access Patterns Report (メモリー・アクセス・パターン・レポート)] タブの両方で表示できます。
[リファインメント・レポート] ウィンドウの [メモリー・アクセス・パターン・レポート] タブには、選択したループのメモリー・アクセス・タイプに関する次のような情報が含まれます。
メモリーアクセス位置の ID
重要度ストライドタイプの分類 (ストライドタイプのアイコン)
Stride (ストライド) は、2 つの連続するループ内におけるメモリーアクセス間の要素の物理的距離です
メモリーアクセスの Type (タイプ):
ユニット/ユニフォーム・ストライド・タイプ:
Unit stride (stride 1) (ユニットストライド (ストライド 1 )) 命令は反復から次の反復で 1 つずつ変化するメモリーにアクセスします。
Uniform stride 0 (ユニフォーム・ストライド 0) 命令は反復間で同じメモリーにアクセスします。
Constant stride (stride N) (定数ストライド (ストライド N)) 命令は反復間で N 要素 (N>1) ずつ変化するメモリーにアクセスします。
可変ストライドタイプ:
不規則なストライド命令は反復間で予測できない要素数で変化するメモリーにアクセスします。
ギャザー (不規則) ストライドは、インテル® AVX2 命令セット・アーキテクチャーの v(p)gather* 命令を検出します。
Source (ソース)は、メモリー・アクセスが発行される操作のソースファイル名とコード行に関する情報を示します。
Nested Function (入れ子関数) は、ストライド診断が検出する関数 (サイトから起動された) です。
Modules (モジュール) は、メモリーアクセスが発行されたアプリケーションのモジュールです。
Variable references (可変参照) は、メモリー・アクセス・ストライドが検出された変数名です。
[Memory Access Patterns Report (メモリー・アクセス・パターン・レポート)] タブの行をダブルクリックすると、その操作を行うソースコードを表示できます 。