インテル® Fortran コンパイラー XE 13.1 ユーザー・リファレンス・ガイド

アプリケーションのプロファイル

アプリケーションのプロファイルは、次のフェーズで構成されます。

このトピックでは、この 3 つのフェーズ (ステップ) のそれぞれについてサンプルコマンドを使用してアプリケーションをプロファイルする方法を示します。

  1. インストルメンテーション・コンパイルとリンク

    インストルメント済み情報を含む実行ファイルを生成するには、-prof-gen (Linux* および OS X*) または /Qprof-gen (Windows*) を使用します。 コードカバレッジ・ツール用の最小限のインストルメンテーションみのを取得するには、/Qcov-gen (Windows*) を使用します。

    オペレーティング・システム

    コマンド

    Linux* および OS X*

    ifort -prof-gen -prof-dir/usr/profiled a1.f90 a2.f90 a3.f90

    ifort -oa1 a1.o a2.o a3.o

    Windows*

    ifort /Qprof-gen /Qprof-dirc:\profiled a1.f90 a2.f90 a3.f90

    ifort a1.obj a2.obj a3.obj

    Windows*

    ifort /Qcov-gen /Qcov-dirc:\cov_data a1.f90 a2.f90 a3.f90

    ifort a1.obj a2.obj a3.obj

    複数のディレクトリーにソースファイルがあるアプリケーションの場合は、-prof-dir (Linux* および OS X*)、/Qprof-dir (Windows*)、または /Qcov-dir (Windows*) オプションを使用します。このオプションを使用すると、プロファイル情報が一定の場所に作成されます。 サンプルコマンドでは、複数のソースファイルでこれらのオプションを組み合わせる方法を説明します。

    -prof-gen=srcpos (Linux* および OS X*) または /Qprof-gen:srcpos (Windows*) オプションを使用すると、コンパイラーは補足情報を収集します。収集した補足情報は、コードカバレッジ・ツールなど、特定のツールで使用できます。 このようなツールを使用する予定がない場合は、-prof-gen=srcpos (Linux* および OS X*) または /Qprof-gen:srcpos (Windows*) を指定しないでください。拡張オプションを使用しても、最適化の向上は見込めず、また並列コンパイル時間が遅くなる可能性があります。 コードカバレッジ・ツールにのみインストルメンテーションを使用する場合は、/Qprof-gen:srcpos (Windows*) オプションの代わりに、/Qcov-gen (Windows*) オプションを使用してインストルメンテーション・オーバーヘッドを最小限にしてください。

  2. インストルメント済みプログラムの実行

    対応するデータセットを使用してインストルメント済みプログラムを実行し、1 つ以上の動的情報ファイルを作成します。

    オペレーティング・システム

    コマンド

    Linux* および OS X*

    ./a1.out

    Windows*

    a1.exe

    インストルメント済みプログラムを実行すると、一意の名前で拡張子が .dyn の動的情報ファイルが生成されます。インストルメント済みプログラムを実行するたびに、新しい動的情報ファイルが作成されます。

    入力データを変更して、プログラムを複数回実行できます。

  3. フィードバック・コンパイル

    このステップに入る前に、すべての .dyn ファイルと .dpi ファイルを同じディレクトリーにコピーします。-prof-use (Linux* および OS X*)、/Qprof-use (Windows*) オプションを使用してソースファイルのコンパイルとリンクを行います。このオプションにより、コンパイラーは動的情報を使用して、そのプロファイルに従ってプログラムを最適化します。

    オペレーティング・システム

    Linux* および OS X*

    ifort -prof-use -ipo -prof-dir/usr/profiled a1.f90 a2.f90 a3.f90

    Windows*

    ifort /Qprof-use /Qipo /Qprof-dirc:\profiled a1.f90 a2.f90 a3.f90

    最後のフェーズでは、インストルメント済みプログラムの実行中 (フェーズ 2) に生成された動的情報を使用して、ソースファイルのコンパイルとリンクを行います。

    実行ファイルの最適化に加えて、コンパイラーは pgopti.dpi ファイルを生成します。

    通常、フェーズ 1 ではデフォルトの最適化オプション、-O2 (Linux* および OS X*) または /O2 (Windows*) を指定し、最終 (フェーズ 3) コンパイルではさらに高度な最適化オプション -ipo (Linux*)、/Qipo (Windows*) を指定します。 例えば、上記の例では、ステップ 1 で -O2 (Linux* および OS X*) または /O2 (Windows*)、ステップ 3 で -ipo (Linux* または OS X*) または /Qipo (Windows*) を使用しています。

コンパイラーはフェーズ 1 では、-prof-gen (Linux* および OS X*) や /Qprof-gen (Windows*) が使用されている場合は、-ipo-ip (Linux* および OS X*) または /Qipo/Qip (Windows*) を無視します。


このヘルプトピックについてのフィードバックを送信