.dyn ファイルのマージ

.dyn ファイルをマージするには、profmerge ユーティリティを使用します。-prof_use を指定すると、フィードバック・コンパイル・フェーズで自動的に profmerge が実行されます。

profmerge をコマンドラインで使用するには、次のように指定します。

profmerge [-nologo] [-prof_dirdirname]

ここで -prof_dirdirname は、profmerge ユーティリティ・オプションです。

これにより、カレント・ディレクトリ、または -prof_dir で指定されているディレクトリ内のすべての .dyn ファイルがマージされ、サマリファイル pgopti.dpi が作成されます。

-prof_filefilename オプションで、.dpi ファイルの名前を指定することができます。

profmerge-prof_filefilename とともにコマンドラインで使用するには、次のように指定します。

profmerge [-nologo] [-prof_filefilename]

ここで /prof_filefilename は、profmerge ユーティリティ・オプションです。


profmerge ツールは指定されたディレクトリに存在するすべての .dyn ファイルをマージします。テストの過去の実行時などからの関連のない .dyn ファイルがそのディレクトリ内に存在していないことを確認する必要があります。  この確認を怠ると、プロファイル情報は不適切なプロファイル・データに基づくことになります。その結果、不適切なカバレッジ情報が生成され、最適化されたコードのパフォーマンスに悪影響を与えることがあります。


profmerge ツールを使用すれば、アプリケーションをコンパイルせずに、.dyn ファイルを .dpi ファイルにマージできます。

プロファイル・データのダンプ

ここでは、Fortran から C PGO API ルーチンを呼び出す方法の一例を紹介します。PGO API サポート ルーチンの詳細については、「PGO API: プロファイル情報生成サポート」を参照してください。

プロファイルに基づく最適化のインストルメント済みプログラムの実行フェーズの一環として、インストルメント済みのプログラムはプロファイル・データを動的情報ファイル (.dyn ファイル) に書き込みます。このファイルは、インストルメント済みのプログラムが main() から正常に戻るか、または標準的な exit 関数を呼び出した後に書き込まれます。プログラムが正常に終了しない場合に備えて、_PGOPTI_Prof_Dump 関数を用意しています。インストルメンテーション・コンパイル (-prof_gen) 時に、プログラムにこの関数の呼び出しを追加できます。次に例を示します。

INTERFACE
SUBROUTINE PGOPTI_PROF_DUMP()
!DEC$ ATTRIBUTES C, ALIAS:'PGOPTI_Prof_Dump'::PGOPTI_PROF_DUMP
END SUBROUTINE
END INTERFACE
CALL PGOPTI_PROF_DUMP()


-prof_use を使用してフィードバック・コンパイルを実行する前に、この呼び出しを削除するか、コメントアウトしなければなりません。