インテル® Fortran コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
オフロード実行時間とデータ転送量の出力を制御します。この関数は、インテル® MIC アーキテクチャーにのみ適用されます。
_Offload_report(integer)
名前 |
種類 |
説明 |
---|---|---|
integer |
整数 |
設定可能な値は、1、2、または 3 です。 1: オフロード実行時間 (秒単位) を出力します。 2: 1 の情報 + CPU とコプロセッサー間のデータ転送量 (バイト単位) に関するレポートを生成します。 3: 2 の情報 + デバイスの初期化と個々の変数の転送を含むオフロード処理に関する詳細なレポートを生成します。 |
この API を使用して、オフロード領域の実行時間と実行中に転送されたデータ量を測定できます。
この API を使用することは、OFFLOAD_REPORT 環境変数を設定するのと同じです。
OFFLOAD_REPORT 環境が設定されている場合、以下の例の 19 行目以前のオフロードはレポートされますが、19 行目から 28 行目のオフロードはレポートされません。
28 行目でレポートがオンに戻され、以降のオフロードはレポートされます。
01 subroutine foo() 02 !dir$ ATTRIBUTES OFFLOAD:mic:: foo … 13 !dir$ offload begin target(mic:0) in(SIZ) & 14 in(pc: length(SIZ) alloc_if(.true.) free_if(.false.)) … 19 call Offload_report(0) ! Offload_report をオフにする 21 !dir$ offload begin target(mic:0) & … … 28 call Offload_report(1) ! Offload_report をオンにする 29 !dir$ offload_transfer target(mic:0) & … … 40 end
次の出力例は、各設定の出力形式を示したものです。これらの出力例は上記のコード例の出力ではありません。
_Offload_report(1) の出力例:
[オフロード] [MIC 0] [ファイル] test.f90 [オフロード] [MIC 0] [行] 5 [オフロード] [MIC 0] [タグ] Tag0 sub #1, initial pc: 12345678910 [オフロード] [MIC 0] [CPU 時間] 0.000000 (秒) [オフロード] [MIC 0] [MIC 時間] 0.000876 (秒)
_Offload_report(2) の出力例:
[オフロード] [MIC 0] [ファイル] test.f90 [オフロード] [MIC 0] [行] 5 [オフロード] [MIC 0] [タグ] Tag0 sub #1, initial pc: 12345678910 [オフロード] [MIC 0] [CPU 時間] 0.000000 (秒) [オフロード] [MIC 0] [CPU->MIC データ] 44 (バイト) [オフロード] [MIC 0] [MIC 時間] 0.001131 (秒) [オフロード] [MIC 0] [MIC->CPU データ] 4 (バイト)
_Offload_report(3) の出力例:
[オフロード] [ホスト] [状態] 初期化: 論理カード 0 = 物理カード 0 [オフロード] [ホスト] [状態] 初期化: 論理カード 1 = 物理カード 1 [オフロード] [MIC 0] [ファイル] test.f90 [オフロード] [MIC 0] [行] 5 [オフロード] [MIC 0] [タグ] Tag0 [オフロード] [ホスト] [タグ 0] [状態] オフロード開始 [オフロード] [ホスト] [タグ 0] [状態] 関数を初期化 __offload_entry_test_f90_5sub_ [オフロード] [ホスト] [タグ 0] [状態] ホストメモリーからバッファーを作成 [オフロード] [ホスト] [タグ 0] [状態] MIC メモリーからバッファーを作成 [オフロード] [ホスト] [タグ 0] [状態] ホストメモリーからバッファーを作成 [オフロード] [ホスト] [タグ 0] [状態] MIC メモリーからバッファーを作成 [オフロード] [ホスト] [タグ 0] [状態] ポインターデータを送信 [オフロード] [ホスト] [タグ 0] [状態] CPU->MIC ポインターデータ 44 [オフロード] [ホスト] [タグ 0] [状態] コピーインデータを集約 [オフロード] [ホスト] [タグ 0] [状態] CPU->MIC コピーインデータ 0 [オフロード] [ホスト] [タグ 0] [状態] MIC の計算タスク [オフロード] [ホスト] [タグ 0] [状態] ポインターデータを受信 [オフロード] [ホスト] [タグ 0] [状態] MIC->CPU ポインターデータ 0 [オフロード] [MIC 0] [タグ 0] [状態] ターゲット関数を開始 __offload_entry_test_f90_5sub_ [オフロード] [MIC 0] [タグ 0] [変数] sub_$SIZ_V$9 IN [オフロード] [MIC 0] [タグ 0] [変数] sub_$PC_V$8 IN [オフロード] [MIC 0] [タグ 0] [変数] sub_$I_V$a OUT [オフロード] [MIC 0] [タグ 0] [状態] コピーインデータを分散 sub #1, initial pc: 12345678910 [オフロード] [ホスト] [タグ 0] [状態] コピーアウト・データを分散 [オフロード] [MIC 0] [タグ 0] [状態] コピーアウト・データを集約 [オフロード] [MIC 0] [タグ 0] [状態] MIC->CPU コピーアウト・データ 4 [オフロード] [MIC 0] [CPU 時間] 0.000000 (秒) [オフロード] [MIC 0] [CPU->MIC データ] 44 (バイト) [オフロード] [MIC 0] [MIC 時間] 0.000957 (秒) [オフロード] [MIC 0] [MIC->CPU データ] 4 (バイト) [オフロード] [MIC 1] [状態] データテーブルを登録解除 [オフロード] [MIC 0] [状態] データテーブルを登録解除 [オフロード] [ホスト] [状態] データテーブルを登録解除