インテル® VTune™ Amplifier 2018 ヘルプ

HPC パフォーマンス特性解析

HPC パフォーマンス特性解析は、計算集約型のアプリケーションがどの程度効率良く CPU、メモリー、および浮動小数点計算のハードウェア・リソースを使用しているかを特定します。

HPC パフォーマンス特性解析タイプは、アプリケーションのパフォーマンス特性を理解する開始点として使用できます。インテルの OpenMP* やインテル® MPI ランタイム・ライブラリーを使用したアプリケーション向けのスケーラビリティーに関するメトリックも利用できます。

HPC パフォーマンス特性解析では、インテル® VTune™ Amplifier のデータコレクターはイベントベース・サンプリング収集を使用してアプリケーションをプロファイルします。インテルの OpenMP* ランタイム・ライブラリー向けの OpenMP* 解析メトリックは、ランタイム・ライブラリー内で実装されるユーザー API インストルメント機能をベースとしています。

コレクターは指定されたアプリケーションのデータを収集しますが、必要であれば制限はありますがシステム全体のパフォーマンス・データを収集できます。

FPU と GFLOPS メトリックは、第 3 世代インテル® Core™ プロセッサー、第 5 世代インテル® プロセッサー、および第 6 世代インテル® プロセッサーでサポートされます。インテル® Xeon Phi™ プロセッサー開発コード名 Knights Landing では、一部の機能がサポートされます。このメトリックは、現在第 4 世代インテル® プロセッサーでは利用できません。システム上で利用されているプロセッサー・ファミリーを確認するには、解析設定ペインの [Details (詳細)] セクションを展開します。

解析は、インテル® VTune™ Amplifier GUI またはコマンドラインから実行できます。

HPC パフォーマンス特性解析タイプを使用するには次を確認します。

設定オプション

HPC パフォーマンス特性解析向けのオプションを設定するには、次の操作を行います。

必要条件: プロジェクトを作成し、解析ターゲットを指定します。

  1. インテル® VTune™ Amplifier ツールバーの (スタンドアロン GUI)/(Visual Studio* IDE) [New Analysis (新規解析)] ボタンします。

    [Analysis Type (解析タイプ)] ウィンドウをアクティブにして、[New Amplifier Result (新規 Amplifier 結果)] タブを開きます。

  2. 左のペインにある解析ツリーから、[Application Analysis (アプリケーション解析)] > [HPC Performance Characterization (HPC パフォーマンス特性)] 解析タイプを選択します。

    右ペインに [HPC Performance Characterization] の設定が表示されます。

  3. 解析オプションを設定します。

    [CPU sampling interval, ms (CPU サンプリング間隔、ミリ秒)] フィールド

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

    指定可能な値 - 0.01-1000

    デフォルト値は、1 です。

    [Collect stacks (スタックを収集)] チェックボックス

    コールスタックとスレッド・コンテキスト・スイッチの高度な収集を有効にします。

    デフォルト値は、[false] です。

    [Analyze memory bandwidth (メモリー帯域幅を解析)] チェックボックス

    メモリー帯域幅の計算に必要なデータを収集します。

    デフォルト値は、[true] です。

    [Evaluate max DRAM bandwidth (最大 DRAM 帯域幅を評価)] チェックボックス

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

    デフォルト値は、[true] です。

    [Analyze OpenMP regions (OpenMP* 領域を解析)] チェックボックス

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

    デフォルト値は、[true] です。

    [Details (詳細)] ボタン

    この解析タイプで使用されるデフォルト設定 (編集不可) のリストを展開/折りたたみます。解析向けの追加設定を修正または有効にする場合、既存の事前定義設定をコピーしてカスタム設定を作成する必要があります。この解析タイプ設定の編集可能なコピーが作成され、解析ツリーの [Custom Analysis (カスタム解析)] に追加されます。

    下にある [Command Line... (コマンドライン...)] ボタンをクリックして、この設定のコマンドラインを生成できます。

  4. 解析を実行するには、[Start (開始)] をクリックします。

ビューポイント

HPC パフォーマンス特性解析結果は、次のビューポイントで表示できます。

ビューポイント

説明

HPC Performance Characterization (HPC パフォーマンス特性)

アプリケーションが、CPU、メモリー、および浮動小数点演算リソースをどの程度効率良く使用しているか理解するのを支援します。メモリーと FPU の効率を高める次のステップと同様に、このビューではインテルの OpenMP* と MPI ランタイムのスケーラビリティーの問題を特定します。

Hardware Events (ハードウェア・イベント)

モニターされたハードウェア・イベントの特性を表示: 予測されるカウントおよび (または) 収集されたサンプル数。このビューを使用して、注目するイベントの最も高いアクティビティーのコード領域 (モジュール、関数、コード行など) を特定します。

Hardware Issues (ハードウェアの問題)

アプリケーションで利用可能なハードウェア・リソースを活用していない場所を特定するのに役立ちます。このビューポイントは、ハードウェア・パフォーマンス・カウンターから得られるメトリックを表示します。グリッドにハイライト表示されたメトリック値にマウスをホバーすると、そのメトリックがパフォーマンスの問題を引き起こす理由が表示されます。

Hotspots (ホットスポット)

多くの CPU 時間を使用しているコード領域 (ホットスポット) を特定するのに役立ちます。

Memory Usage (メモリー使用量)

アプリケーションがメモリーリソースを効率良く使用しているか理解するのを支援し、過度な NUMA プラットフォーム上のリモートへのアクセス、DRAM へのヒット、またはインターコネクトの帯域幅制限などメモリーアクセスに関連する問題の可能性を特定します。アプリケーション・コードとメモリー・オブジェクト配列の両方に関連する各種パフォーマンス・メトリックを提供します。

General Exploration (全般解析)

アプリケーションで利用可能なハードウェア・リソースを活用していない場所を特定するのに役立ちます。このビューポイントは、ハードウェア・イベントから得られるメトリックを表示します。[Summary (サマリー)] ウィンドウは、メトリックの説明と実行全体におけるトータルなメトリックをレポートします。[Bottom-up (ボトムアップ)][Top-down Tree (トップダウン・ツリー)] ウィンドウで、アプリケーション内のハードウェアの問題が発生する場所を特定できます。パフォーマンス向上の可能性が検出されると、セルはハイライト表示されます。グリッドのハイライトされているメトリックにカーソルをホバーすると、問題の説明が表示されます。

それぞれのビューポイントには、次のウィンドウ/ペインがあります。

次にすることは?

次の項目を確認するには、HPC パフォーマンス特性ビューポイントを使用します。

ハイブリッド・アプリケーションの基本的なチューニング手順を調査するため、OpenMP* と MPI アプリケーションの解析チュートリアルを使用します。インテル® デベロッパー・ゾーンからチュートリアル (https://software.intel.com/en-us/itac-vtune-mpi-openmp-tutorial-lin (英語)) にアクセスできます。

関連情報