インテル® Trace Analyzer & Collector
2016.03.10
本製品の販売は終息しました。
|
クラスターシステム向けソフトウェアのボトルネックを素早く特定し、優れたパフォーマンスを実現
- 強力な MPI 通信プロファイリングと解析
- スケーラブル – 低オーバーヘッドで効果的な可視化
- ワークフローへ柔軟に統合 – コンパイル、リンク、または実行
|
関連記事
リソース
FAQ
すべて開く
すべて閉じる
よくある問い合わせ
-
インテル® Trace Analyzer & Collector を使用することで、私自身のプログラムについて重要な情報がもたらされますか?
インテル® Trace Analyzer & Collector は、主に MPI ベースのプログラム向けのグラフィカル・ツールです。アプリケーション実行時の動作を理解するのに役立ちます。MPI ランクにまたがったコードの通信とボトルネックの依存関係を見つけるのを支援します。また、アプリケーションの正当性をチェックし、プログラミングのエラー、バッファー・オーバーラップ、そしてデッドロックなどの可能性を指摘します。
-
インテル® Trace Analyzer & Collector はインテル® MPI ライブラリーとのみ動作するのですか?
いいえ。インテル® Trace Analyzer & Collector は、主要な MPICH-2 ベースの実装をすべてサポートします。利用中の MPI ライブラリーがインテル® Trace Analyzer & Collector でプロファイルできるかどうか心配な場合、mpiconstants.c ファイルをコンパイルして実行し結果を、ドキュメントページから、インテル® Trace Collector のリファレンス・ガイドで提供される値と比較して検証することで、簡単な ABI 互換性チェックを行うことができます。
-
インテル® メニー・インテグレテッド・コア (インテル® MIC) アーキテクチャー向けのアプリケーションにインテル® Trace Analyzer & Collector を利用できますか?
はい。インテル® Trace Analyzer & Collector は、インテル® MIC アーキテクチャーをフルサポートします。
-
インテル® Trace Analyzer & Collector で解析できる MPI アプリケーションのサイズに制限はありますか?
それは、アプリケーションがどれくらい MPI 関数を呼び出し、どれくらいの時間実行されているか、規模と複雑性に依存します。MPI ジョブサイズに内部制限はありませんが、外部的にはいくつかの制限があります。それは、アプリケーション、MPI ライブラリー、そしてインテル® Trace Analyzer & Collector が利用可能なメモリーがシステム (コアごと) にどれだけあるかに依存します、ディスク容量も同様です。追加のフラグが有効にされると (例えば、コールスタックとソースの場所の保存など)、トレースファイルの増加の原因となります。トレースファイルのサイズを減らすには、必要ない情報のフィルターが有効です。
インテル® Trace Analyzer & Collector には内部制限はありませんが、システム固有の制限 (ディスクやメモリー容量) には簡単に到達するでしょう。数千または数万にスケールするアプリケーションを解析する場合、最初に MPI Performance Snapshot を行うことを推奨します。
-
インテル® Trace Analyzer & Collector は、インテル® VTune™ Amplifier XE、インテル® Inspector XE またはほかの解析ツールと併用できますか?
これらのツールは、独自の形式でそれぞれ情報を収集しますが、MPI 環境でインテル® VTune™ Amplifier XE とインテル® Inspector XE ツールを利用するのは簡単です。収集された MPI データの表示については、各ツールのユーザーズガイドをご覧ください。
ノードレベルの解析には、インテル® VTune™ Amplifier XE やインテル® Inspector XE などのツールを使用し、クラスターレベルの解析にはインテル® Trace Analyzer & Collector を使用します。
-
インテル® MPI Performance Snapshot (MPS) とは何ですか?
MPS は、インテル® Trace Analyzer & Collector の機能であり、低オーバーヘッドでスケーラブルな MPI アプリケーション・プロファイラーです。インテル® Trace Analyzer & Collector によって収集される詳細で豊富なメトリックを補完する主要なメトリックをプロファイルします。これは、コマンドライン出力か HTML サマリーによって MPI アプリケーションの主なメトリックを表示する ‘Snapshot’ ビューを提供します。
-
インテル® Trace Analyzer & Collector を使用するには、どのファイルとディレクトリーにアクセスする権限が必要ですか?
特殊なドライバー、カーネルのインストールやアクセス権の取得も必要ありません。インテル® Trace Analyzer & Collector を $HOME ディレクトリーにインストールして、そこから任意のアプリケーションとリンクするだけです。
-
情報を収集するには再コンパイルと再リンクを行う必要はありますか?
それは、アプリケーションに依存します。Windows* では、-trace フラグを追加してアプリケーションを再リンクする必要があります。
Linux* では、アプリケーションがダイナミックリンクされていれば、何もする必要はありません。実行時に -trace オプションを追加するだけです (例: mpirun -trace)
-
アプリケーションの一部分をプロファイルするような制御は可能ですか?
インテル® Trace Collector には、データ収集を制御するいくつかのオプションがあります。デフォルトでは、MPI 呼び出しに関する情報のみが収集されます。トレースする MPI 呼び出しをフィルターしたい場合、設定ファイルを作成して VT_CONFIG 環境変数を設定します。
MPI 以外にユーザーレベルのルーチンの情報を収集したい場合、インテル® コンパイラーでは -tcollect オプションを使用してアプリケーションを再コンパイルしてください。インテル® Trace Collector は、MPI だけでなくすべての関数の情報を収取します。同様に関数をフィルターする場合、-tcollect-filter コンパイル・オプションを使用します。
コード内の特定の領域のみをプロフィルする場合、インテル® Trace Collector API 呼び出しを使用します。API 呼び出しによるトレースは、手動で有効または無効に設定できます。
インテル® Trace Collector の機能の詳細については、ドキュメントタブから参照できるインテル® Trace Collector リファレンス・ガイドをご覧ください。
-
トレースデータが格納されるファイル形式は何ですか?
インテル® Trace Collector は、時間とプロセスにわたってスケーラブルな構造化トレースファイル形式 (STF) に収集したデータを格納します。詳細については、ドキュメントタブから参照できるインテル® Trace Collector リファレンス・ガイドの「Structured Tracefile Format」の節をご覧ください。
-
インテル® Trace Analyzer & Collector は、外部とトレースデータをインポートやエクスポートできますか?
はい。インテル® Trace Analyzer インターフェイスの一部として、プロファイル・チャート (Function Profile、Message Profile、および Collective Operations Profile) をエキスポートできます。エキスポートするには、GUI でいずれかのプロファイルを開き、コンテキスト・メニューから [Export Data] オプションを選択します。データは、簡単に読み取れるテキスト形式で保存されます。
[Project] メニューでは、現在のインテル® Trace Analyzer 環境を個別に保存できます。[Save Project] を選択すると、開いているトレースビューと関連するチャートが保存されます。同じメニューから [Load Project] を選択して、最後に保存したセッションを読み込むことができます。
-
収集するデータサイズが適切になるよう制御することはできますか? 適切なデータサイズは?
各アプリケーションは、生成されるプロファイル・データが異なります。実行時間が長く、多くの MPI 呼び出しを行うアプリケーションの STF ファイルは大きくなります。適切なフィルターを適用することで、必要のない情報をフィルタリングすることができます。
また、アカウントに割り当てられているリソースによって制限されることがあります; 制限および推奨に関しては、クラスターの管理者にお問い合わせください。
-
収集した情報をどのように解析するのですか?
トレースデータを一度収集したのち、インテル® Trace Analyzer のグラフィカル・インターフェイスを使用してそれを解析できます。コマンドラインから ($ traceanalyzer) 起動するか、インテル® Trace Analyzer のアイコンをダブルクリックし、[File] メニューから収集した STF ファイルを開きます。
[Charts] メニューから [Event Timeline chart] を開き、適切なレベルにズームして解析することができます。
トレーニングタブにある、「不要なシリアル化を検出して排除」のチュートリアルをご覧ください。インテル® Trace Analyzer の機能の詳細については、ドキュメントタブから参照できるインテル® Trace Analyzer リファレンス・ガイドをご覧ください。
-
MPI のプロファイルにインテル® Trace Analyzer & Collector ではなく、MPI Performance Snapshot を利用する理由は何ですか?
それらは無料で利用できます。MPS は、経験豊富なまたは入門開発者に MPI アプリケーションがどのように実行されているか、さらにチューニングや解析の可能性があるかどうかを理解できるよう、高速で軽量な方法を提供するため、迅速でスケーラブルなプロファイラーとして設計されています。主要なメトリックを理解して MPS で提供される推奨に基づき、開発者はインテル® Trace Analyzer & Collector (またはインテル® VTune™ Amplifier XE) を必要に応じてより有効に利用できます。
-
MPS で分かるメトリックは何ですか?
ハードウェア・カウンターとメモリーは次のようなデータを使用します。
- ウォールクロック (ランクの最小値および最大値と平均値)
- ハードウェア・カウンター (FLOPS/%FP instructions、%Vector Instructions、%Memory Access instructions)
- メモリー利用統計 (ランクの最小値および最大値と平均値)
- MPI の負荷インバランス
-
MPS のオーバーヘッドとは何ですか?
これは、プロダクション・コードを実行する場合、MPI アプリケーションのパフォーマンスにおよそ 5% の影響があることを意味します。
-
MPS のスケーラビリティーとは何ですか?
MPS は、現在 32000 ランクでテストされていますが、将来のリリースではスケーラビリティーを向上する予定です。
-
MPS が収集するデータのサイズとどのようなストレージが必要であるか心配です。MPS でキャプチャーされるデータサイズの平均値は?
1000 ランクのプロファイルでは、およそ 0.8GB のトレースデータが収集されます。これは、インテル® Trace Analyzer & Collector を使用した実行と比較すると 1/20 以上に小さくなっています。
-
MPS はすべての MPI アプリケーション上で動作しますか?
MPS は、インテル® Trace Analyzer & Collector 9.0.2 以降で利用できます。最初のリリースでは、テキストファイル/コマンドライン出力のみがサポートされます。以降のリリースでは HTML レポートの生成が追加されました。インテル® MPI ライブラリー 5.0.2 以降が必要です。一般的に、最新のインテル® Parallel Studio XE Cluster Edition に含まれるインテル® MPI ライブラリーとインテル® Trace Analyzer & Collector を使用することを推奨します。
-
私は、Allinea* Performance Report (APR) をよく知っていますが、MPS とどのように比較できますか?
MPS は、APR と同様に軽量の MPI プロファイラーです。APR は Allinea* Forge と Allinea* DDT を補完するように、MPS はインテル® Trace Analyzer & Collector とインテル® VTune™ Amplifier XE を補完します。Allinea* は、分散デバッグ・ソリューションの主要な提供者であり、IA エコシステムのツール提供者でもあります。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。