インテル® Trace Analyzer & Collector 入門ガイド

インテル® Trace Analyzer & Collector は、MPI アプリケーションの動作の理解、ボトルネックの素早い特定、正当性の向上、インテル® アーキテクチャー・ベースの並列クラスター・アプリケーションでの優れたパフォーマンスの実現に役立つ、グラフィカルなツールです。小さなアプリケーションおよび大きなアプリケーションのウィーク・スケーリングとストロング・スケーリングを向上できます。


インテル® Trace Collector は、アプリケーションの統計を収集する機能を提供し、インテル® Trace Analyzer は、収集されたデータを視覚化および解析する強力な機能を提供します。
インテル® Trace Collector は、Linux* および Windows® で利用できます。インテル® Trace Analyzer は、Linux*、Windows®、および OS X* で利用できます。

インテル® Trace Analyzer & Collector は、インテル® Parallel Studio XE Cluster Edition の一部としてダウンロードおよびインストールできます。

主な機能

インターフェイスおよび表示

  • インテル® Trace Analyzer & Collector には、グラフとドリルダウン表示オプションを備えた、フルカラーのカスタマイズ可能な GUI が用意されています。
  • アナライザーは、迅速にコールスタックをアンワインドし、デバッグ情報を使用して、命令アドレスをソースコードにマップします。
  • コマンドライン・インターフェイスおよび GUI インターフェイスの両方で、バッチのセットアップやインタラクティブなデバッギングを追加で行うことができます。

関連資料 (英語)

 

インターフェイスおよび表示

 

 

MPI 正当性検証

  • MPI 正当性検証機能は、デッドロック、データ破損、または MPI パラメーター、データ型、バッファー、コミュニケーター、PTP メッセージと集合演算のエラーを検出します。
  • 正当性検証機能を利用すると、非常に大規模なシステムにスケーリングして、多数のプロセス間でもエラーを検出できます。

関連資料 (英語)

MPI 正当性検証

パフォーマンス・アシスタント

パフォーマンス・アシスタントを使用して、アプリケーションのパフォーマンス問題を特定します。次の情報が提供されます。

  • 問題の詳細な説明および推奨する解決方法。
  • 影響を受けるプロセスについての情報。
  • 問題が発生したソースコードの領域。

関連資料 (英語)

パフォーマンス・アシスタント

MPI Performance Snapshot

  • MPI Performance Snapshot (MPS) は、MPI アプリケーション向けのスケーラブルな軽量のパフォーマンス・ツールです。このツールは、さまざまな MPI アプリケーションの統計 (通信、アクティビティー、ロードバランスなど) を収集して、読みやすい形式で示します。
  • MPS は、インテル® MPI ライブラリーの軽量統計と OS およびハードウェア・レベルのカウンターを組み合わせて、アプリケーションの高レベルの概要を提供します。

関連資料 (英語)

MPI Performance Snapshot

理想環境シミュレーション

  • アプリケーションのインバランスを理解し、理想化機能を使用して MPI 実装のチューニングとネットワークのアップグレードを行った後の潜在的なアプリケーションのスピードアップを推定します。

関連資料 (英語)

理想環境シミュレーション

ユーザーレベルのインストルメンテーション

  • インテル® Trace Collector API を使用して、プロファイリング・ライブラリーを制御してユーザーが定義したアクティビティーを記録し、プロセスのグループを定義して、パフォーマンス・カウンターを定義して値を記録します。
  • インテル® Trace Analyzer で解析できるように、インテル® コンパイラーを使用してアプリケーションの機能をすべて自動的にインストルメントします。

関連資料 (英語)

ユーザーレベルのインストルメンテーション



グラフィカル・ユーザー・インターフェイス (GUI)

GUI の各要素については、図と併せて説明文もご覧ください。

グラフィカル・ユーザー・インターフェイス (GUI)



GUI 各要素の説明文

ツールバー:
ツールバーを使用して、最も頻繁に使用されるインテル® Trace Analyzer の機能に簡単にアクセスできます。

Trace Map (トレースマップ) :
[Trace Map (トレースマップ)] は、時間とともに MPI 関数のアクティビティーを縮小表示します。開いているすべてのグラフでトレースファイルのサブセットにズームすることもできます。

Event Timeline (イベント・タイムライン) :
[Event Timeline (イベント・タイムライン)] は最も一般的なグラフで、時間とともに個々のプロセスのアクティビティーをグラフで表示します。プログラム構造およびイベント情報の詳細を把握することができます。

Quantitative Timeline (定量タイムライン) :
[Quantitative Timeline (定量タイムライン)] は、指定された時間に同じ関数を実行しているプロセスの数を表示します。アプリケーションの並列処理およびロードバランスの状況を把握することができます。
ほかのすべてのグラフと同様に、MPI 関数は赤、シリアルコードは青で表示されます。

Time Scale (タイムスケール) :
[Time Scale (タイムスケール)] は、現在選択されている時間間隔を表示します。

Function Profile (関数プロファイル) :
[Function Profile (関数プロファイル)] は、アプリケーションで使用されているすべての関数の概要を表示します。4 つのタブがあります。

  • [Flat Profile (フラット・プロファイル)] は、すべての関数の簡単な概要を表示します。
  • [Load Balance (ロードバランス)] は、すべてのプロセッサーについて各関数が実行される時間を表示します。
  • [Call Tree (コールツリー)] は、コールスタックを表示します。
  • [Call Graph (コールグラフ)] は、呼び出しの依存関係を表示します。

Message Profile (メッセージ・プロファイル) :
[Message Profile (メッセージ・プロファイル)] は、ポイントツーポイント操作についての統計を表示します。
行列のグループ別にメッセージを分類し、各セルに選択された属性の値を表示します。デフォルトでは、メッセージ・プロファイルは、センダー/レシーバープロセスの各ペアについて、メッセージを送信するまでにかかった時間を表示します。セルの色はメッセージ送信時間を表します。ほかのプロセスペアと相対的に表示され、最も時間が長いセルは赤で表示されます。

Collective Operations Profile (集合演算プロファイル) :
[Collective Operations Profile (集合演算プロファイル)] は、メッセージ・プロファイルに似ていますが、集合演算についての統計を表示します。メッセージ・プロファイルと同様に、表示する行、列、属性を設定して、各ペアの属性値を比較することができます。デフォルトでは、このプロファイルは、各プロセスについて、各演算が完了するまでにかかった時間を表示します。セルの色は演算の実行時間を表します。ほかのプロセス/演算と相対的に表示され、最も時間が長いセルは赤で表示されます。

ドキュメントとリソース

製品の詳細については、以下のリソースを参照してください。






インテル® Trace Analyzer & Collector for Windows® 入門

準備

インテル® Trace Analyzer & Collector の使用を開始する前に、これらのステップを完了します。
  1. 次のソフトウェアがインストールされていることを確認します。
    1. Microsoft® Visual Studio®
    2. インテル® C++/Fortran コンパイラー
    3. インテル® MPI ライブラリー
    4. インテル® Trace Analyzer & Collector

上記のインテル製品はすべて、インテル® Parallel Studio XE Cluster Edition の一部として利用できます。

  1. コンパイラーのコマンドプロンプトを実行して環境を設定します。
    1. Windows® 7: [スタート] > [すべてのプログラム] > [Intel Parallel Studio XE 2016 (インテル(R) Parallel Studio XE 2016)] > [Compiler and Performance Libraries (コンパイラーおよびパフォーマンス・ライブラリー)] > [Command Prompt with Intel Compiler (インテル(R) コンパイラー用コマンドプロンプト)] を選択して、適切なモードを選択します。
    2. Windows® 8: [スタート] > [アプリ] > [Intel Parallel Studio XE 2016 (インテル(R) Parallel Studio XE 2016)] を選択して、使用しているアーキテクチャーおよび Visual Studio® バージョン用のバッチファイルを選択します。

あるいは、psxevars.bat スクリプト (<install_dir>\parallel_studio_xe_2016.x.xxx\bin にあります) を実行します。デフォルトの <install_dir> は C:\Program Files (x86)\IntelSWTools です。
コンパイラー、インテル® MPI ライブラリーおよびインテル® Trace Analyzer & Collector で必要な環境変数が設定され、アプリケーションをトレースする準備ができました。
システム要件については、製品のリリースノートを参照してください。

ステップ 1: アプリケーションのトレース

  1. -trace オプションを指定してアプリケーションをコンパイルします。次に例を示します。

> mpiicc -trace myApp.c

  1. mpiexec コマンドを使用して MPI アプリケーションを実行し、トレースファイルを生成します。次に例を示します。

> mpiexec -n 4 myApp.exe
トレースファイル .stf (例: myApp.stf) が生成されます。トレースの詳細は、インテル® Trace Collector ヘルプ (英語) を参照してください。



ステップ 2: アプリケーションの動作の解析

  1. 生成された .stf ファイルをインテル® Trace Analyzer で開きます。

> traceanalyzer myApp.stf

  1. さまざまなグラフやタイムラインを使用して、アプリケーションの解析を開始します。最初に、[Summary Page (サマリーページ)] を使用して、次の情報を取得します。
    1. アプリケーションの一般的な情報
    2. 解析を開始する推奨事項

利用可能なグラフと図の詳細な説明は、インテル® Trace Analyzer ヘルプ (英語) を参照してください。

ステップ 2: アプリケーションの動作の解析

インテル® Trace Analyzer & Collector for Linux* 入門

準備

インテル® Trace Analyzer & Collector の使用を開始する前に、これらのステップを完了します。

  1. 次のソフトウェアがインストールされていることを確認します。
    1. インテル® C++/Fortran コンパイラー
    2. インテル® MPI ライブラリー
    3. インテル® Trace Analyzer & Collector

これらの製品はすべて、インテル® Parallel Studio XE Cluster Edition の一部として利用できます。

  1. source コマンドを使用して psxevars.[c]sh スクリプト (<install_dir>/parallel_studio_xe_2016.x.xxx/bin にあります) を実行し、環境を設定します。デフォルトの <install_dir> は opt/intel です。

$ source psxevars.sh
コンパイラー、インテル® MPI ライブラリーおよびインテル® Trace Analyzer & Collector で必要な環境変数が設定され、アプリケーションをトレースする準備ができました。
システム要件については、製品のリリースノートを参照してください。


ステップ 1: アプリケーションのトレース

mpirun コマンドを使用 (-trace オプションを指定) して MPI アプリケーションを実行し、トレースファイルを生成します。次に例を示します。
$ mpirun -trace -n 4 ./myApp
トレースファイル .stf (例: myApp.stf) が生成されます。トレースの詳細は、インテル® Trace Collector ヘルプ (英語) を参照してください。



ステップ 2: アプリケーションの動作の解析

  1. 生成された .stf ファイルをインテル® Trace Analyzer で開きます。

$ traceanalyzer ./myApp.stf

  1. さまざまなグラフやタイムラインを使用して、アプリケーションの解析を開始します。最初に、[Summary Page (サマリーページ)] を使用して、次の情報を取得します。
    1. アプリケーションの一般的な情報
    2. 解析を開始する推奨事項

利用可能なグラフと図の詳細な説明は、インテル® Trace Analyzer ヘルプ (英語) を参照してください。

ステップ 2: アプリケーションの動作の解析

インテル® Trace Analyzer & Collector for OS X* 入門

ステップ 1: アプリケーションのトレース

注意:インテル® Trace Collector は、OS X* では利用できません。Linux* または Windows® マシンを使用してトレースファイルを生成してください。
Linux* または Windows® マシンでインテル® Trace Collector を使用して、トレースファイルを生成します。インテル® Trace Analyzer & Collector ドキュメントの各 OS の説明を参照してください。


ステップ 2: アプリケーションの動作の解析

  1. 生成された .stf ファイルをインテル® Trace Analyzer で開きます。

$ traceanalyzer myApp.stf

  1. さまざまなグラフやタイムラインを使用して、アプリケーションの解析を開始します。最初に、[Summary Page (サマリーページ)] を使用して、次の情報を取得します。
    1. アプリケーションの一般的な情報
    2. 解析を開始する推奨事項

利用可能なグラフと図の詳細な説明は、インテル® Trace Analyzer ヘルプ (英語) を参照してください。

ステップ 2: アプリケーションの動作の解析