2012-05-15 11 views
20

私はMPIを使用していますので、通信コストを測定したいので、それらを「処理」コストと比較することができます。 n個のプロセスを比較し、それをソートする必要がある時間と比較します。MPI通信コストを測定するツール

誰もこの通信コストを測定するツールを知っていますか? (散布など)

コードパフォーマンスを分析するためにPAPIなどのMPI通信コストを測定する方法はありますか。

ありがとうございます!

答えて

24

はい、そうしたツールがたくさんあります。 MPIは、他のライブラリがあなたのMPI関数呼び出しに自分自身を介入させたり、数、タイミングなどを行うためのツールインタフェースを定義します。

非常に小さなMPIプロファイリングツールはmpiPです。コード。

ライブラリはかなり簡単に作成でき、多くのMPIカウントと時間を与え、結果として素晴らしいHTMLファイルを提供します。あなたはPAPIについて言及します。 IPMは、利用可能であればPAPIカウンターも統合します。私たちはセンターでこれを定期的に使用しています。私はこれがあなたの好きなことをすると思います。 MPI用のダイナミックライブラリを使ってプログラムを構築した場合、これを使うために再コンパイルする必要はありません(mpiPは同じプロパティを持っています)。

JumpshotはMPICH2に付属していますが、どのMPIでも構築できますが、実際には各MPI操作の所要時間をタイムライン上に示します。

OpenSpeedshopは、コードのパフォーマンスを非常に詳細に測定し、特に「高価な」行を強調表示します。それはまた、コード行ごとにMPI時間を識別するMPI追跡モードを持っています。インストールするのは難しいことがあります。

スペクトルの商業的な部分には、TU DresdenおよびIntel Trace Analyzer and Collector(ITAC)のVampirがあります。 Vampirは、オープンソースのVampirTraceライブラリを使用してソースレベル、MPIおよびOpenMPトレースを収集します。このライブラリはPAPIと統合され、詳細なイベントとカウンタのトレースを提供します。 VampirTraceのトレースは、Open Trace Formatであり、Vampir以外のさまざまなツールで読み取ることができます。

ITACはIntel Cluster Studio XEの一部です。主にインテルMPIと連携し、Vampirと同じ先祖のコードを共有し、多かれ少なかれ同じ機能を提供するように設計されています。その優れた機能の1つは、付属の自動ランタイムMPI正しさチェッカーです。

Allinea MAPは、ソースコードの個々の行とともに通信/計算コストを表示する統合ソースブラウザを使用してパフォーマンス分析を提供するAllineaのMPIプロファイラです。また、メモリ、CPU命令、通信などのパフォーマンス情報のハイレベルのグラフも表示されます。

しかし、レポートを提供するだけでなく、実際にアドバイスを提供する他の高レベルツールもあります。 TACCのperfexpertは、いくつかの測定を行い、パフォーマンスチューニングのアドバイスを提供するコマンドラインベースのツールです。をJülichから取り出し、多くのソースレベル計測器でコードを再コンパイルし、負荷の不均衡、特に高価なMPI集団などを指摘することができます。また、Vampirと統合して詳細なトレース分析を行うこともできます。

+1

TU DresdenとIntel Trace Analyzer and Collectorの[Vampir](http://www.vampir.eu/)を追加します。どちらも同じ祖先に由来し、MPIおよびOpenMPトレースのパフォーマンス分析のための優れた洗練されたツールですが、残念なことに商業的にライセンスされています。 Scalascaはオープンソースですが、低レベルの詳細な解析や、Vampirとの統合には適していません(統合には有効なVampirライセンスが必要です)。 [XMPI](http://www.lam-mp​​i.org/software/xmpi/)はLAMと一緒に配布されていましたが、LAMがOpen MPIと統合されて以来、積極的に開発されていません。 –

+0

はい、素晴らしいです。彼らは商用だから主に追加しなかった。 これをコミュニティのwikiに変更してみんなが自分の提案を追加できるようにすると便利だと思いますか? –

+0

うわー!皆さん、本当にありがとうございます!もう1つの質問です。使用しているクラスタで測定を行いたいのですが、管理者権限がないので、このプログラムを自分のディレクトリにインストールすることは可能ですか?既にインストールされているmpiPは別として。 IPMは管理者権限なしでインストール可能なようですが、そうですか?ありがとう! –

関連する問題