この記事は、インテル® デベロッパー・ゾーンに公開されている「Get Started with Application Performance Snapshot – Windows* OS」 (https://software.intel.com/en-us/get-started-with-application-performance-snapshot-windows) の日本語参考訳です。
利用可能なハードウェア (CPU、FPU、およびメモリー) を共有メモリー型アプリケーションがどのように活用しているか、アプリケーション・パフォーマンス・スナップショット (APS) を使用して簡単に参照できます。アプリケーション・パフォーマンス・スナップショットは、OpenMP* のインバランス、メモリーアクセス効率、および FPU 使用に費やされたアプリケーションの時間を解析します。解析後、インテル® プラットフォームを使用するシステム上でのパフォーマンス拡張の可能性が示されます。簡単なパフォーマンスのスナップショットを得るため、このツールをアプリケーションのパフォーマンス解析の出発点として使用し、特定の視点に特化したプロファイル・ツールでアプリケーション・パフォーマンスの詳細を確認します。
アプリケーション・パフォーマンス・スナップショットは、インテル® デベロッパー・ゾーン (https://software.intel.com/performance-snapshot) (英語) から無償でダウンロードできますが、インテル® Parallel Studio XE またはインテル® VTune™ Amplifier 製品の一部としてもインストールされます。
必要条件
ツールを実行する前に環境を設定します。
- コマンドプロンプトを開きます。
- ツールを実行するのに必要な環境変数を設定します。
- インテル® Parallel Studio XE とともにインストールされている場合: <install-dir>\amplxe-vars.bat を実行します。<install-dir> は、インテル® VTune™ Amplifier のインストール先です。
例:
"C:\Program Files (x86)\IntelSWTools\VTune Amplifier 2018\amplxe-vars.bat"
- インテル® デベロッパー・ゾーンからダウンロードした場合: ツールを展開したディレクトリーのパスをコマンドラインで環境変数に追加します。set PATH=%PATH%;<install-dir> を実行します。
- インテル® Parallel Studio XE とともにインストールされている場合: <install-dir>\amplxe-vars.bat を実行します。<install-dir> は、インテル® VTune™ Amplifier のインストール先です。
共有メモリー・アプリケーションを解析
- 次のコマンドを実行します。
aps.bat <my app><app parameters>
<my app> は、解析するアプリケーションのパスとバイナリーで、<app parameters> はアプリケーションの引数です (必要であれば)。
アプリケーション・パフォーマンス・スナップショットは、アプリケーションを起動してデータ収集を実行します。
注:ツールを初めて実行する場合、データ収集を開始する前に適切なドライバーをインストールします。
ドライバーをアンインストールするには、-u オプションを使用します。アプリケーション・パフォーマンス・スナップショットとインテル® VTune™ Amplifier がインストールされている場合、ドライバーをアンインストールするとインテル® VTune™ Amplifier のデータ収集に影響します。
- 解析が完了するとコマンドウィンドウにレポートが表示されます。同じ情報の HTML レポートをサポートされるブラウザーで 開くこともできます。HTML レポートのパスははコマンドウィンドウで APS を実行したパスに生成されます。
- レポートに表示されるデータを解析します。詳細については、下記のメトリックの説明を参照するか、HTML レポートのメトリックにポインターを移動します。
- 解析結果を基に次に行うことを決定します。一般的な手順として、アプリケーションのチューニングや詳しい情報を収集するため、インテル® VTune™ Amplifier やインテル® Advisor などのパフォーマンス解析ツールの利用が含まれます。
メトリックのクイック・リファレンス
アプリケーション・パフォーマンス・スナップショットでは次のメトリックが収集されます。各メトリックの詳細については、インテル® VTune™ Amplifier のヘルプ (英語) をご覧ください。
経過時間: 指定されたアプリケーションの実行時間 (秒) を示します。実行時間には、収集が停止された時間は含まれません。
SP GFLOPS: 1 秒あたりの単精度ギガ浮動小数点操作数。すべての倍精度操作は 2 つの単精度操作に変換されます。SP GFLOPS メトリックは、第 3 世代インテル® Core™ プロセッサー、第 5 世代インテル® プロセッサー、および第 6 世代インテル® プロセッサーでのみ利用できます。
命令リタイアごとのサイクル数 (CPI): 各命令の実行に要した時間 (サイクル数)。CPI が 1 の場合、ハイパフォーマンス・コンピューティング (HPC) アプリケーションでは容認されますが、異なるアプリケーション分野の期待値はさまざまです。長いレイテンシーのメモリー、浮動小数点演算、SIMD 演算、分岐予測ミスによりリタイアしない命令、フロントエンドの命令スタベーションなど、さまざまな要因が CPI 値に影響します。
CPU 利用率: アプリケーションによるシステム上のすべての論理 CPU コアの利用率を算出します。このメトリックは、アプリケーションの並列処理効率を評価するのに役立ちます。100% の利用率は、アプリケーションが実行中にすべての論理 CPU コアをビジーに保つことを意味します。このメトリックは、アプリケーションの有効なワークと、並列ランタイムの時間を区別しないことに注意してください。
メモリー依存: アプリケーションがデータをフェッチしている間に失われた可能性があるプロセッサーの実行パイプライン・スロットのパーセンテージを示します。データフェッチ中のストールは、通常、ロード命令によって発生し、ロードが完了するまで実行がストールします。まれなケースとして、未完了のストアがパイプラインを圧迫することでストールが発生することがあります。この値が 20% を超えるとさらに調査が必要です。
FPU 利用率: アプリケーションが実行されている間の有効な FPU の利用率を示します。この FPU 利用率は、アプリケーションのベクトル処理効率を評価するのに役立ちます。これは、FPU によって実行された演算のパーセンテージの予測によって計算された値です。100% の値は、FPU に最大の負荷がかかっていることを意味します。この値が 50% を超えるとさらに解析が必要です。FPU メトリックは、第 3 世代インテル® Core™ プロセッサー、第 5 世代インテル® プロセッサー、および第 6 世代インテル® プロセッサーでのみ利用できます。
ドキュメントとリソース
リソース | 説明 |
---|---|
インテル® パフォーマンス・スナップショットのユーザーフォーラム (英語) | アプリケーション・パフォーマンス・スナップショットを含むすべてのインテル® パフォーマンス・スナップショット・ツールのユーザーフォーラムです。 |
アプリケーション・パフォーマンス・スナップショット (英語) | アプリケーション・パフォーマンス・スナップショット製品ページ。サポートとオンライン・ドキュメントに関する情報を入手できます。 |
著作権と商標について
Intel、インテル、Intel ロゴ、Intel Core、VTune は、アメリカ合衆国およびその他の国における Intel Corporation またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
© 2016-2018 Intel Corporation.
本ソフトウェアおよび関連ドキュメントは、インテルが著作権を有する著作物であり、その使用には付随する明示的なライセンス (「ライセンス」) が適用されます。ライセンスで特に明記されていない限り、インテルから書面による許可を得た場合を除き、本ソフトウェアまたは関連ドキュメントを使用、改変、複製、公表、配布、公開することはできません。
本ソフトウェアおよび関連ドキュメントは現状のまま提供され、ライセンスに明記されているものを除き、明示されているか否かにかかわらず、いかなる保証もいたしません。