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

同カテゴリーの次の記事

インテル® DAAL チュートリアル: 簡単な C++ 例の使用

この記事は、インテル® デベロッパー・ゾーンに公開されている「Command Line and 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

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

関連記事

  • インテル® Advisor XE 2016 Update 2 新機能インテル® Advisor XE 2016 Update 2 新機能 この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel® Advisor XE 2016 Update 2 What's new」の日本語参考訳です。 ベクトル化アシスタント・ツールの新バージョン、インテル® Advisor XE 2016 Update 2 […]
  • インテル® Advisor XE 2016 Update 1 新機能インテル® Advisor XE 2016 Update 1 新機能 この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel® Advisor XE 2016 Update 1 What's new」の日本語参考訳です。 ベクトル化支援ツールの新バージョンが公開されました: インテル® Advisor XE 2016 Update 1 インテル® Advisor XE […]
  • ベクトル異形関数でのプロセッサー ID 指定ベクトル異形関数でのプロセッサー ID 指定 インテル® C/C++ および Fortran コンパイラーのバージョン 16.0 以降では、プログラマーがスカラー関数に対応するベクトル関数を明示的に記述することを可能にする、ベクトル異形関数 (Vector Variant Function) をサポートしています。 Windows* および Linux* […]
  • インテル® MIC アーキテクチャー向けの高度な最適化 - ネイティブおよびオフロードのプログラミング・モデルインテル® MIC アーキテクチャー向けの高度な最適化 - ネイティブおよびオフロードのプログラミング・モデル この記事は、インテル® ソフトウェア・サイトに掲載されている「Native and Offload Programming Models (PDF)」の日本語参考訳です。 はじめに ここでは、ネイティブ・プログラミング・モデル、ヘテロジニアス・オフロード・モデル、Cilk_Offoad モデルを含む、インテル® […]
  • 2015 年春のインテル® ソフトウェア技術ウェビナーシリーズ2015 年春のインテル® ソフトウェア技術ウェビナーシリーズ 無料のインテル® ソフトウェア技術ウェビナーシリーズ 2015 年春のインテル® ソフトウェア技術ウェビナーが開催されました — 皆さんがご覧になって、開発に役立てられることを期待しています。 このウェビナーシリーズの概要紹介をご覧ください。(英語) > 2015 […]