インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

_Offload_report

オフロード実行時間とデータ転送量の出力を制御します。この関数は、インテル® MIC アーキテクチャーにのみ適用されます。

構文

_Offload_report(integer)

引数

名前

種類

説明

integer

整数

設定可能な値は、12、または 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] [状態]   データテーブルを登録解除
[オフロード] [ホスト]  [状態]  データテーブルを登録解除

関連情報