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

offload-attribute-target、Qoffload-attribute-target

コンパイラーは、ソースファイル中のプロシージャーとデータ・オブジェクトにオフロード属性 "target(mic)" のフラグを付けます。

IDE オプション

なし

アーキテクチャー

インテル® MIC アーキテクチャー向けのインテル® 64 アーキテクチャー

構文

Linux*:

-offload-attribute-target=target-name

OS X*:

なし

Windows*:

なし

引数

target-name

特定のターゲット。利用可能な値は mic のみです。

デフォルト

オフ

コンパイラーは、ソースファイル中のプロシージャーとデータ・オブジェクトにオフロード属性 "target(mic)" のフラグを付けません。

説明

このオプションを指定すると、コンパイラーは、ソースファイル中のプロシージャーとデータ・オブジェクトにオフロード属性 target(mic) のフラグを付けます。

このオプションは、必要な個々の ATTRIBUTES OFFLOAD:MIC 宣言子を使用して、ソースファイル内のすべてのプロシージャーとデータ・オブジェクトに target(mic) 属性を付けるのと似ています。

ソースに埋め込まれた個々の ATTRIBUTES OFFLOAD:MIC 宣言子は、このオプションよりも優先されます。

代替オプション

なし

以下に Linux* 上での -offload-attribute-target オプションの使用例を示します。モジュール変数 t_glob はホストでのみ更新され、モジュール変数 t_priv はターゲットでのみ更新されます。-offload-attribute-target オプションを使用してすべてのグローバル・プロシージャーとグローバル変数に target(mic) 属性のフラグが付けられるため、ホストとターゲットの両方で利用可能なグローバル・プロシージャーとグローバル変数に対して、ソースで個別に ATTRIBUTES 宣言子を追加する必要はありません。

t.F90
=========
program sample
  use m, only : t_glob, glob_func
  integer :: i
  !dir$ offload target(mic) out(i, t_glob)
  i = glob_func()
  write(*, '( "main: t_glob = ",i0," i = ",i0)' ) t_glob, i
end program sample

m.F90
=========
module m
  integer :: t_glob = 65
  public :: glob_func
  integer :: t_priv = 43
  private  :: priv_func, t_priv
contains
  integer function priv_func ()
!   ターゲットでのみインクリメント
#   ifdef __MIC__
      t_priv = t_priv + 1
#   endif
      priv_func = t_priv / 2
  end function priv_func
  integer function glob_func ()
      integer :: j
      j = priv_func()
      write(*, '( "glob_func: t_priv = ",i0," j = ",i0)' ) t_priv, j
!   ターゲットでのみインクリメント
#   ifdef __MIC__
      t_glob = t_glob + 1
#   endif
      glob_func = t_glob / 2
  end function glob_func
end module m

次のようにコマンドラインでソースをコンパイルします。

$ ifort -c m.F90 -offload-attribute-target=mic
$ ifort m.o t.F90 -o t.exe

t.exe の出力は次のようになります。

glob_func: t_priv = 44 j = 22
main: t_glob = 66 i = 33

関連情報


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