MPI Performance Snapshot クイックスタート

同カテゴリーの次の記事

インテル® Performance Snapshot ユーザーズガイド

この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「MPI Performance Snapshot Quick Start」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS 環境でも十分ご利用いただけます。また、構成は英語版のヘルプと同じ階層構造にしてあります。


MPI Performance Snapshot を使用して、MPI アプリケーションの負荷インバランス、メモリー利用、および通信とシリアル時間を簡単に見ることができます。

MPI Performance Snapshot は、Linux* システム上の MPI アプリケーション向けのスケーラブルで軽量なパフォーマンス・ツールです。通信、アクティビティー、負荷バランスなどの MPI アプリケーションの特性を収集し、分かりやすい形式で表示します。アプリケーションのスケーラビリティーとパフォーマンスを詳しく解析するため収集された情報を使用します。

インストール

MPI Performance Snapshot は、インテル® デベロッパー・ゾーンから無料でダウンロードでき、インテル® Parallel Studio XE Cluster Edition とインテル® Trace Analyzer & Collector がすでにインストールされていればすぐに利用できます。

無料の MPI Performance Snapshot を入手するには、次の操作を行います。

  1. 最新の製品版は、http://www.intel.com/mpi-snapshot (英語) からダウンロードできます。
  2. ローカルシステムに、mps_standalone.tgz ファイルをダウンロードして展開します。
  3. ローカルシステム上の書き込み可能な場所に展開します。

インテル® Parallel Studio XE Cluster Edition がインストールされている場合は、MPI Performance Snapshot が同梱されているため別途インストールする必要はありません。

使用する

MPI Performance Snapshot の使用法と結果の解釈に関する詳しい情報は、MPI Performance Snapshot ユーザーズガイド (https://software.intel.com/sites/default/files/MPI_Perf_Snapshot_User_Guide.pdf (英語)) をご覧ください。

  1. MPI 実装で提供されるコンパイラー・ラッパーを使用してプログラムをコンパイルします。
  2. MPI Performance Snapshot を実行するため環境変数を設定します。適切な環境変数を設定するには、mpsvars.sh スクリプトを実行します。ハードウェア・メトリックを取集するには、-w オプションを使用します。
  3. MPI 実装を使用してアプリケーションを実行します。
    • インテル® MPI ライブラリーの場合: -mps オプションを追加してアプリケーションを実行します。

      例:

      $ mpirun -mps -n N ./myApp
      

      この例では、stat_<date><time> 形式のディレクトリーと stat-N.bin 形式のファイル (N はプロセス番号) が作成されます。各ランクは異なるファイルを作成します。ハードウェア・メトリックを収集した場合、_mps_<date><time> 形式のディレクトリーも作成されます。

    • そのほかの MPI 実装の場合: mpsrun.sh スクリプトを使用してアプリケーションを実行します。

      例:

      $ mpirun -n N mpsrun.sh ./myApp
      

      この例では、stat_<date> 形式のディレクトリーと stat-N.bin 形式のファイル (N はプロセス番号) が作成されます。各ランクは異なるファイルを作成します。ハードウェア・メトリックを収集した場合、_mps_<date> 形式のディレクトリーも作成されます。

      ヒント:

      プロセスごとに時間が異なるため、mpsrun.sh スクリプトは date と time ではなく MPS_STAT_DIR_POSTFIX の日付のみを使用します。mpsrun.sh を修正して、作成するディレクトリー名を変更できます。

  4. コマンドラインから MPI Performance Snapshot を実行して収集したデータを確認します。結果とディレクトリー名、ファイル名 (例えば stat-12.bin) および MPI Performance Snapshot は、同じディレクトリーまたはピリオド (.) で区切られた適切な形式のファイルとして作成されます。MPI Performance Snapshot はシステム上のすべての stat-N.bin ファイルを検索します。次の例では、すべて固有のディレクトリー名が作成されます。
    • MPI 関数の時間を取得:
      $ mps -t stat_DATE-TIME _mps_DATE-TIME
      
    • 通信パターンを取得:
      $ mps -c stat_DATE-TIME _mps_DATE-TIME
      
    • 詳細を取得:
      $ mps -t -D stat_DATE-TIME _mps_DATE-TIME
      
  5. HTML サマリーレポート (mps_report.html) を作成し、データを解析します。

    例:

    $ mps -s -g stat_<DATE-TIME> _mps_<DATE-TIME>
    
  6. 解析結果に基づいて適切な次のステップを決定します。一般的な次のステップは、mpitune ユーティリティーを使用して通信をチューニングするか、インテル® VTune™ Amplifier やインテル® Trace Analyzer & Collector などのさらに詳しい情報を提供するパフォーマンス解析ツールを使用することです。詳しいチュートリアルは、https://software.intel.com/en-us/itac-vtune-mpi-openmp-tutorial-lin (英語) でご覧いただけます。

システム要件と制限

  • 推奨されるコンパイラー: インテル® C/C++ または Fortran コンパイラー (ほかのコンパイラーも利用できますが、OpenMP* 領域に関する情報はインテルの OpenMP* ライブラリーでのみ取得できます)
  • インテル® MPI ライブラリー 2017 以降。そのほかの MPICH ベースの MPI 実装も使用できますが、内部 MPI インバランスに関する情報はインテル® MPI ライブラリーでのみ取得できます。OpenMPI はサポートされません。
  • MPI Performance Snapshot は、MPI ライブラリーと動的にリンクされたアプリケーションでのみ動作します。
  • ハードウェア・メトリックは、Application Performance Snapshot を使用して収集されます。制限が適用されます。

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • Storage Performance Snapshot クイックスタート (プレビュー機能)Storage Performance Snapshot クイックスタート (プレビュー機能) この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Storage Performance Snapshot Quick Start (Preview)」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • Application Performance Snapshot クイックスタート (プレビュー機能)Application Performance Snapshot クイックスタート (プレビュー機能) この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Application Performance Snapshot Quick Start (Preview)」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • MPI Performance Snapshot FAQMPI Performance Snapshot FAQ この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「MPI Performance Snapshot FAQ」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • ハードウェア・イベントベースのスタック・サンプリングでアプリケーションのパフォーマンスを解析ハードウェア・イベントベースのスタック・サンプリングでアプリケーションのパフォーマンスを解析 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Analyzing Application Performance with Hardware Event-based Stack Sampling」の日本語参考訳です。Windows* […]
  • インテル® VTune™ Amplifier 導入ガイドインテル® VTune™ Amplifier 導入ガイド この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Getting Started with Intel® VTune™ Amplifier」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]