インテル® Advisor コマンドラインと MPI

インテル® Advisorインテル® MPI ライブラリーインテル® Parallel Studio XE

この記事は、インテル® デベロッパー・ゾーンに公開されている「Command Line and MPI」(https://software.intel.com/en-us/get-started-with-advisor-cli-mpi) の日本語参考訳です。


インテル® Advisor 2016 には、Fortran、C および C++ (ネイティブ/マネージド) アプリケーションで最新のプロセッサーのパフォーマンスを最大限に引き出すことができるように支援する 2 つのツール (ベクトル化解析ツールとスレッド化設計/プロトタイピング・ツール) が含まれています。このトピックでは、インテル® Advisor の CLI (コマンドライン・インターフェイス) と MPI の使用方法を説明します。

コマンドライン

インテル® Advisor のコマンドライン・インターフェイス (advixe-cl) を使用して、解析とレポートを実行できます。多くのタスクを自動化できるだけでなく、リモートホストで動作するアプリケーションを解析することもできます。その後、インテル® Advisor GUI またはコマンドラインのレポートを使用して結果を表示できます。

以下の表は、一般的なインテル® Advisor タスクのコマンドラインの例です。

操作

使用するコマンドライン

コマンドライン・オプションのリストを表示します。

(対象: ベクトル化アドバイザー & スレッド化アドバイザー)

advixe-cl -help

インテル® Advisor のヘルプも参照してください。

サーベイ解析を実行します。

(対象: ベクトル化アドバイザー & スレッド化アドバイザー)

Linux*: advixe-cl -collect survey –project-dir ./myAdvisorProj -- myTargetApplication

Windows*: advixe-cl -collect survey -project-dir myAdvisorProj -- myTargetApplication

トリップカウント解析を実行します。

(対象: ベクトル化アドバイザー & スレッド化アドバイザー)

Linux*: advixe-cl -collect tripcounts –project-dir ./myAdvisorProj -- myTargetApplication

Windows*: advixe-cl -collect tripcounts -project-dir myAdvisorProj -- myTargetApplication

サーベイレポートを印刷して詳細解析のループ ID を識別します。

(対象: ベクトル化アドバイザー)

Linux*: advixe-cl -report survey –project-dir ./myAdvisorProj

Windows*: advixe-cl -report survey -project-dir myAdvisorProj

詳細解析を実行します。

(対象: ベクトル化アドバイザー)

Linux*: advixe-cl -collect [dependencies | map] -mark-up-list=[loopID],[loopID] –project-dir ./myAdvisorProj -- myTargetApplication

Windows*: advixe-cl -collect [dependencies | map] -mark-up-list=[loopID],[loopID] -project-dir myAdvisorProj -- myTargetApplication

依存性解析を実行します。

(対象: スレッド化アドバイザー)

Linux*: advixe-cl -collect dependencies -project-dir ./myAdvisorProj -- myTargetApplicaton

Windows*: advixe-cl -collect dependencies -project-dir myAdvisorProj -- myTargetApplicaton

ループリストの代わりにトップダウン関数リストをレポートします。

(対象: ベクトル化アドバイザー & スレッド化アドバイザー)

advixe-cl -report survey -top-down -display-callstack

コンパイラーの最適化レポートとベクトル化レポートのメトリックをレポートします。

(対象: ベクトル化アドバイザー)

advixe-cl -report survey -show-all-columns

not inner loop (内部ループではありません)」メッセージが表示されベクトル化されなかった上位 5 つのセルフタイム hotspot をレポートします。

(対象: ベクトル化アドバイザー)

advixe-cl -report survey -limit 5 -filter "Vectorization Message(s)"="loop was not vectorized: not inner loop”

MPI

MPI 解析はインテル® Advisor コマンドライン・インターフェイスから実行できます。インテル® Advisor GUI からは実行できません。GUI で結果を表示することは可能です。

  • クラスター環境にインテル® Advisor GUI がある場合は、GUI で結果を開きます。

  • クラスターノードにインテル® Advisor GUI がない場合は、インテル® Advisor GUI があるほかのマシンに結果ディレクトリーをコピーして、GUI で結果を開きます。

  • クラスターノードで結果を参照するには、インテル® Advisor コマンドライン・レポートを使用します。

mpirunmpiexec、MPI バッチ・ジョブ・マネージャーを advixe-cl コマンドとともに使用して、解析を開始します。mpirun-gtool オプションも使用できます。詳細は、『インテル® MPI ライブラリー・リファレンス・マニュアル』 (インテル® ソフトウェア・ドキュメント・ライブラリーから入手可能) を参照してください。

以下の表は、一般的なインテル® Advisor MPI タスクのコマンドラインの例です。

操作

使用するコマンドライン

10 個の MPI ランク (プロセス) を実行して、各ランクでインテル® Advisor の解析を開始します。

Linux*: $ mpirun -n 10 advixe-cl -collect survey --project-dir ./my_proj ./your_app

Windows*: $ mpirun -n 10 advixe-cl -collect survey --project-dir my_proj your_app

インテル® Advisor は、現在のディレクトリーに、rank.0、rank.1、… rank.n (n は MPI プロセスのランク) という名前の結果ディレクトリーを作成します。

インテル® Advisor は異なるランクの結果を組み合わせないため、各ランクの結果を個別に調べる必要があります。

10 個の MPI ランク (プロセス) を実行して、ランク 1 でインテル® Advisor の解析を開始します。

Linux*: $ mpirun -n 1 advixe-cl -collect survey --project-dir ./my_proj ./your_app : -np 9 ./your_app

Windows*: $ mpirun -n 1 advixe-cl -collect survey --project-dir my_proj your_app : -np 9 your_app

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

タイトルとURLをコピーしました