インテル® VTune™ プロファイラー・ユーザーガイド

キャッシュミスと高い帯域幅の問題向けのメモリーアクセス解析

インテル® VTune™ プロファイラーのメモリーアクセス解析を使用して、NUMA の問題や帯域幅に制限されたアクセスなどメモリー関連の問題を特定し、メモリー割り当て/解放のインストルメントとシンボル情報から取得した静的/グローバル変数により提供されるパフォーマンス・イベントをメモリー・オブジェクト (データ構造) に関連付けます。

インテル® VTune™ Amplifier は、インテル® oneAPI ベース・ツールキット向けのバージョンからインテル® VTune™ プロファイラーに名称が変更されました。インテル® VTune™ プロファイラーは、スタンドアロン・バージョンとインテル® Parallel Studio XE またはインテル® System Studio に同梱されたバージョンが提供されます。

どのように動作するか

メモリーアクセス解析タイプは、ハードウェア・イベントベース・サンプリングを使用して、以下のメトリックのデータを収集します。

  • メトリックの一覧は、マイクロアーキテクチャーによって異なります。

  • UPI 利用率メトリックは、QPI 利用率を置き換えるもので、インテル® マイクロアーキテクチャー開発コード名 Skylake で導入されました。

メモリーアクセス解析で使用される多くの収集イベントはプリサイス (正確) です。これにより、データ・アクセス・パターンが分り易くなります。オフコアのトラフィックは、ローカル DRAM とリモート DRAM アクセスに区分されます。通常、コストが高いリモート DRAM アクセスを最小限に抑えることに集中します。

解析の設定と実行

次のようにメモリーアクセス解析のオプションを設定します。

必要条件: プロジェクトを作成します。

  1. (スタンドアロン GUI)/ (Visual Studio* IDE) で、インテル® VTune™ プロファイラーのツールバーにある [解析の設定] ボタンをクリックします。

    [解析の設定] ウィンドウが開きます。

  2. [どのように] ペインで、 実行する解析タイプを選択ボタンをクリックして、[メモリーアクセス] を選択します。

  3. 次のオプションを構成してください。

    [CPU サンプリング間隔 (ミリ秒)] フィールド

    CPU 間のサンプリング間隔を指定します (ミリ秒)。

    設定可能な値は、0.01 - 1000 です。

    デフォルト値は 1 ミリ秒です。

    [動的メモリー・オブジェクトを解析] チェックボックス (Linux* のみ)

    動的メモリーの割り当て/解放のインストルメントして、ハードウェア・イベントをメモリー・オブジェクトに関連付けます。このオプションは、すべてのシステムメモリーの割り当て/解放をインストルメントするため、実行時にオーバーヘッドが生じる可能性があります。

    このオプションは、デフォルトで無効に設定されています。

    [追跡する最小動的メモリー・オブジェクト・サイズ (バイト)] スピンボックス (Linux* のみ)

    解析に使用する動的メモリー割り当ての最小サイズを指定します。このオプションは、インストルメントの実行時のオーバーヘッドを軽減するのに有効です。

    デフォルト値は 1024 です。

    [DRAM の最大帯域幅を評価] チェックボックス

    収集を開始する前に、達成可能な最大 DRAM 帯域幅を評価します。このデータは、タイムライン上で帯域幅メトリックをスケールし、しきい値を計算するために使用されます。

    このオプションは、デフォルトで有効になっています。

    [OpenMP* 領域解析] チェックボックス

    インバランス、ロック競合、またはスケジュール、リダクション、およびアトミック操作のオーバーヘッドなどの非効率性を特定するため、OpenMP* 領域をインストルメントして解析します。

    このオプションは、デフォルトで無効に設定されています。

    [詳細] ボタン

    この解析タイプのデフォルトの編集不可設定のリストセクションを、展開/折りたたみます。解析の設定を変更または設定の追加を有効にするには、既存の事前定義設定をコピーしてカスタム設定を作成する必要があります。インテル® VTune™ プロファイラーは、解析タイプ設定の編集可能なコピーを作成します。

  4. 解析を実行するには [開始] ボタンをクリックします。

制限:

データを表示

解析では、次のウィンドウを含むメモリー使用ビューポイントを調査します。

サポートの制限

メモリーアクセス解析は、次のプラットフォームでサポートされます。

古いプロセッサーを解析する場合、カスタム解析を作成してメモリーアクセスに関連するイベントを選択します。しかし、それらのプロセッサーでサポートされるメモリー関連のイベントに制限されます。プロセッサーごとのメモリー・アクセス・イベントについては、「インテル® VTune™ プロファイラーのチューニング・ガイド」を参照してください。

Linux* 上の動的メモリー・オブジェクト解析では、インテル® VTune™ プロファイラーは次のメモリー割り当て API をインストルメントします。

関連情報