profrun ツール

profrun ツールは、CPU のパフォーマンス・モニタリング・ユニット (PMU) からデータを収集するツールです。

profrun ツールの要件および動作

このツールは、インテル(R) VTune(TM) パフォーマンス・アナライザーのドライバーを使用してイベントをサンプリングします。このため、profrun ツールを使用するには、VTune アナライザーがインストールされている必要があります。要件は、プラットフォームによって異なります。

プラットフォーム

要件

Linux*

  1. インテル VTune パフォーマンス・アナライザー 3.0 Linux 版 (またはそれ以降) をインストールします。

  2. ツールのユーザーに、VTune アナライザーのドライバーへのアクセスを許可します。

    ツールを実行するユーザーはすべて、VTune アナライザーのドライバーによって使用されるグループのメンバーでなければなりません。デフォルトのグループは vtune です。インストール中に別のグループを指定した場合、ユーザーをそのグループに追加してください。

Windows*

  1. インテル VTune パフォーマンス・アナライザー 7.2 (またはそれ以降) をインストールします。

  2. ツールのユーザーに、VTune アナライザーのドライバーへのアクセスを許可します。

    ツールを実行するユーザーはすべて、ユーザー権利として [単一プロセスのプロファイル] および [システム パフォーマンスのプロファイル] ポリシーが必要です。ユーザーを [Administrators] グループに追加します。詳細は、VTune アナライザーのリリースノートを参照してください。

  3. デフォルト・ディレクトリーとして、ローカルディスクを指定します。

Mac OS* X

ツールはサポートされていません。

ツールは、アナライザーのドライバーと連携して、PMU によってモニターされたイベントのサンプルを収集し、ハードウェア・プロファイリング情報ファイル (.hpj) を作成します。インテル(R) コンパイラーは、ファイルに含まれているハードウェア・プロファイリング・データを使用して、いくつかのプログラムについてさらに最適化を行います。

初期のターゲットプログラム解析フェーズ中に、VTune アナライザーのドライバーは、すべてのシステムワイドなプロセスのイベントデータを含むファイルを作成します。デフォルトのファイル名は pgopti.tb5 です。最後に、profrun ツールはターゲットの実行ファイル用のデータを非常に小さな pgopti.hpi ファイルに結合した後、.tb5 ファイルを削除します。

システムには、.tb5 ファイルを一時的に保持できる十分なディスク空き容量が必要です。ファイルのサイズはさまざまですが、最低でも 400MB の空き容量を確保するようにしてください。

VTune アナライザーのドライバーは、一度に 1 つのプロセスでのみ使用できます。ドライバーが別のプロセスですでに使用されている場合、profrun ツールはエラーを返します。デフォルトでは、profrun は、再度アクセスする前に、最大 10 分間待機します。

profrun ツールの使用

  1. -prof-gen-sampling (Linux) または /Qprof-gen-sampling (Windows) オプションを使用してターゲットのアプリケーションをコンパイルします。

次に、コマンド例を示します。

プラットフォーム

コマンド例

Linux

icc -oMyApp -02 -prof-gen-sampling source1.c source2.c

Windows

icl /FeMyApp.exe /02 /Qprof-gen-sampling source1.c source2.c

  1. 以下のようなコマンドを入力して、生成された実行ファイルを実行します。

プラットフォーム

コマンド例

Linux

profrun -dcache MyApp

Windows

profrun -dcache MyApp.exe

このステップは、VTune アナライザーのドライバーを使用して、必要な .hpi ファイルを生成します。

  1. -prof-use (Linux) または /Qprof-use オプションを使用してターゲットのアプリケーションを再度コンパイルします。

次に、コマンド例を示します。

プラットフォーム

コマンド例

Linux

icc -oMyApp -02 -prof-use source1.c source2.c

Windows

icl /FeMyApp.exe /02 /Qprof-use source1.c source2.c

-prof-use (Linux) または /Qprof-use (Windows) オプションは、.hpi ファイルを読み取り、収集した分岐サンプルデータを使用してアプリケーションを最適化するようにコンパイラーに指示します。

profrun ツールの構文は次のとおりです。

構文

profrun -command [argument...] application

command は次の表にある 1 つ以上のコマンド、argument は 1 つ以上の拡張スイッチ、そして application はアプリケーションを実行するためのコマンドライン (通常はアプリケーション名) です。

Windows: フォワードスラッシュ ("/") から始まるコンパイラー・オプションとは異なり、ツールオプションはハイフン ("-") から始まります。

profrun ツールオプション

次の表は、利用可能な profrun ツールコマンドの要約、コマンドのデフォルト、およびコマンドの簡単な説明です。

ツールオプション

デフォルト

説明

-help

 

サポートされているツールオプションをリストします。

[sav]

10007

-branch-dcache-icache または -event コマンドでサポートされているオプションの引数です。

この整数値は、サンプルの収集に使用されるサンプリング間隔の値 (sav) を指定します。デフォルト値は、10007 (中規模のサイズの素数) です。サポートされているコマンドを使用するときに sav に別の値が指定されていない場合、デフォルト値が使用されます。最良の結果を得るには、素数を使用してください。

値を変更する場合、次のガイドラインに従ってください。

  • 値を小さくすると、サンプリング回数は増えます。サンプリング回数が増えると、プロファイルはより正確になります。出力ファイルのサイズはデフォルトの場合よりも大きくなります。

  • 値を大きくすると、サンプリング回数は減ります。サンプリング回数が減ると、プロファイルはより不正確になります。出力ファイルのサイズはデフォルトの場合よりも小さくなります。

-branch[:sav]

10007

分岐サンプルを収集します。サンプルは、sav 引数で定義された間隔が経過するたびに収集されます。

ホット/コールド・ブロック・レイアウトを行うとき、条件付き分岐の分岐方向を予測するとき、および関数のインライン展開が最も有効な場所を決定するときにコンパイラーに指示する情報を収集するには、このコマンドを使用します。この方法は、-prof-gen (Linux) または /Qprof-gen (Windows) オプションを使用してプログラムをインストルメントすることと似ていますが、このコマンドを使用する方がより簡単です。

-dcache[:sav]

10007

データ・キャッシュ・ミスのサンプルを収集します。サンプルは、sav 引数で定義された間隔が経過するたびに収集されます。

prefetch 操作を行うとき、およびデータレイアウトを実行するときにコンパイラーをガイドする情報を収集するには、このコマンドを使用します。

-icache[:sav]

10007

命令キャッシュ中のミスのサンプルを収集します。サンプルは、sav 引数で定義された間隔が経過するたびに収集されます。

prefetch 操作を行うとき、およびデータレイアウトを実行するときにコンパイラーをガイドする情報を収集するには、このコマンドを使用します。

-event:eventname[:sav]

10007

有効な VTune アナライザーのイベントに関する情報を収集します。eventname は、特定のイベント名を指定します。-branch-dcache、または -icache を使用しない場合、このコマンドを使用します。

いくつかのイベント名にはスペースが含まれています。スペースではなくピリオドを使用している場合、ツールは、イベントを VTune アナライザーに渡す前に、ピリオドをスペースに変更します。

有効なイベントについての詳細は、VTune アナライザーのドキュメントを参照してください。

-tb5:tb5-file

pgopti.tb5

VTune アナライザーのドライバーがアプリケーションをプロファイルするときに生成する .tb5 ファイルの名前を指定します。デフォルトでは、ファイルは現在のディレクトリーに生成されます。

-tb5only が指定されていない場合、profrun が完了するときに指定されたファイルは削除されます。

ファイルを残す場合は、十分な空き容量があるディスクに .tb5 ファイルをコピーしてください。

-tb5only

 

.tb5 ファイルのみを生成します。このコマンドが指定されていない場合、ツールは 1 つの .hpi ファイルにデータを縮小し、.tb5 ファイルを削除します。

-tb5keep

 

.tb5 ファイルを維持し、.hpi ファイルを生成します。

-hpi:hpi-file

pgopti.hpi

 

アプリケーションのプロファイル情報を含む .hpi ファイルの名前を指定します。ファイルは現在のディレクトリーに生成されます。

-executable:executable-file

 

プロファイルする実行ファイルの名前を指定します。デフォルトでは、これはコマンドの最初のトークンです。

-bufsize:buffer-size

65536KB
(64MB)

使用するバッファーサイズをキロバイト (KB) 単位で指定します。

-sampint:sampling-interval

 

サンプリング間隔をミリ秒 (ms) 単位で指定します。すべてのサンプリングはイベント・ベース・サンプリングなので、このコマンドはほとんど使用することはありません。

-wait[:time]

 

600 秒

(10 分)

VTune アナライザーのドライバーにアクセスする前に指定された時間待つようにツールに指示します。このオプションは、ドライバーがビジーになると予想される場合に非常に役立ちます。

0 (ゼロ) を指定すると、コマンドは無効になります。

-verbose

 

現在の解析についてのすべての情報をリストします。

-log:log-file

profrun.log

ログ情報を保存するファイル名を指定します。

--

 

ツールのオプションの解釈を停止します。コマンド名がハイフンで始まる場合に使用します。