インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーをターゲットとする場合にのみ適用されます。
ターゲットが CPU のみの実行の場合にビルドされないコードを記述できます。
デフォルトでは、コンパイラーはマクロ __INTEL_OFFLOAD を定義します。ソースコードをヘテロジニアスにコプロセッサーで実行するようにカスタマイズしている場合、#ifdef __INTEL_OFFLOAD セクション内にコードを記述できます。
例えば、このマクロを使用してオフロードビルドでのみ実行されるようにホストのコードを保護できます (mic_lib.f90 の omp_set_num_threads_target ファミリーの API の呼び出しなど)。
ホスト・コンパイラーのセクションは、[Q]offloadoptional コンパイラー・オプションを指定してコンパイルした場合のみ動作します。
#ifdef __INTEL_OFFLOAD
#ifdef __MIC__
PRINT *,"Using offload compiler : Hello from the coprocessor"
#elif __TARGET_ARCH_MIC
PRINT *,"Using offload compiler : Hello from the coprocessor"
#else /* __MIC__ */
PRINT *,"Using offload compiler : Hello from the CPU"
#endif /* __MIC__ */
#else
#ifdef __MIC__
PRINT *,"Using native compiler : Hello from the coprocessor"
#else
PRINT *,"Using host compiler : Hello from the CPU"
#endif
#endif