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

プロファイル情報のダンプ

_PGOPTI_Prof_Dump_All() 関数は、インストルメント済みアプリケーションによって収集されたプロファイル情報をダンプします。 この関数呼び出しのプロトタイプは次のとおりです。

構文

void _PGOPTI_Prof_Dump_All(void);

この関数の以前のバージョン _PGOPTI_Prof_Dump() は廃止されたため、使用することはできません。

Linux* システムでプログラムを終了するために共有ライブラリー (.so) および exit() 関数と関連して使用される場合を除いて、新しい関数 _PGOPTI_Prof_Reset_All() は古い関数 _PGOPTI_Prof_Reset() のように動作します。 _PGOPTI_Prof_Dump_All() がプログラムを終了するために _exit() 関数の前に呼び出された場合、新しい関数は .dyn ファイルを作成する必要があるすべての共有ライブラリーで .dyn ファイルが作成されることを保証します。 Linux* での移植性および正確な動作のためには、_PGOPTI_Prof_Dump_All() を使用してください。

プロファイル情報は、.dyn ファイル (PGO のフェーズ 2 で生成) に作成されます。

_PGOPTI_Prof_Dump_All() 関数に影響を与える環境変数は PROF_DIR/COV_DIRPROF_DPI/COV_DPI です。 PROF_DIR/COV_DIR 環境変数は .dyn ファイルが保存されるディレクトリーを指定します。 または、-prof-gen を指定してビルドする場合、–prof_dir profmerge ツールオプションを使用して、PROF_DIR/COV_DIR 変数を使用せずにこのディレクトリーを指定できます。 PROF_DPI/COV_DPI 環境変数は代替 .dpi ファイル名を指定します。 デフォルトのファイル名は pgopti.dpi です。 または、-prof-gen を指定してビルドする場合、–prof_dpi ツールオプションを使用して、.dpi サマリーファイル名を指定できます。

推奨する使用方法

ユーザー・アプリケーションを終了する関数本体にこの関数への呼び出しを挿入します。通常、_PGOPTI_Prof_Dump_All() の呼び出しは、一度だけでなければなりません。 この関数を _PGOPTI_Prof_Reset() 関数とともに使用して、(入力データの複数のセットから) 複数の .dyn ファイルを作成できます。

ダンプとダンプの間に _PGOPTI_Prof_Reset_All() 関数を呼び出してデータをリセットしないと、カウンターはデータを集計し続け、その結果、後続の .dyn ファイルに以前にダンプされたデータが含まれてしまいます。

! Selectively collect profile information
! for the portion of the application
! involved in processing input data.
input_data = get_input_data()
do while (input_data)
  call _PGOPTI_Prof_Reset()
  call process_data(input_data)
  call _PGOPTI_Prof_Dump_All()
  input_data = get_input_data()
end do
end program

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

ここでは、Fortran から C PGO API ルーチンを呼び出す方法の一例を紹介します。

PGO のインストルメント済みプログラムの実行フェーズの一環として、インストルメント済みプログラムはプロファイル・データを動的情報ファイル (.dyn ファイル) に書き込みます。

プロファイル情報ファイルは、インストルメント済みプログラムが PROGRAM() から正常に戻るか、または標準的な exit 関数を呼び出した後に書き込まれます。

プログラムが正常に終了しない場合に備えて、_PGOPTI_Prof_Dump_All 関数を用意しています。 -prof-gen (Linux* および OS X*) または /Qprof-gen (Windows*) オプションを使用するインストルメンテーション・コンパイル時において、次のような手法を使用し、この関数への呼び出しをプログラムに追加できます。

interface
  subroutine PGOPTI_Prof_Dump_All()
!DEC$attributes c,alias:'PGOPTI_Prof_Dump_All'::PGOPTI_Prof_Dump_All
  end subroutine
  subroutine PGOPTI_Prof_Reset()
!DEC$attributes c,alias:'PGOPTI_Prof_Reset'::PGOPTI_Prof_Reset
  end subroutine
end interface
call PGOPTI_Prof_Dump_All()

警告

-prof-use (Linux* および OS X*) または /Qprof-use (Windows*) オプションを使用してフィードバック・コンパイルを実行する前に、この呼び出しを削除するか、コメントアウトしなければなりません。


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