インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
target プラグマの OpenMP* オフロードコンパイルを有効/無効にします。このオプションは、インテル® Xeon Phi™ 製品およびインテル® グラフィックス・テクノロジーをターゲットとする場合にのみ適用されます。
インテル® Xeon Phi™ 製品をターゲットとする場合、インテル® グラフィックス・テクノロジーをターゲットとするインテル® 64 アーキテクチャー、または IA-32 アーキテクチャーで実行するインテル® グラフィックス・テクノロジーをターゲットとする場合にのみ利用できます。
Linux*: | -qopenmp-offload[=device] -qno-openmp-offload |
macOS*: | なし |
Windows*: | /Qopenmp-offload[:device] /Qopenmp-offload- |
device |
target プラグマのデフォルトのデバイスを指定します。設定可能な値は以下のとおりです。
|
-qno-openmp-offload または /Qopenmp-offload- |
OpenMP* のオフロードコンパイルは無効です。ただし、[q または Q]openmp オプションを指定すると、デフォルトはオンになり、OpenMP* のオフロードコンパイルが有効になります。 |
このオプションは、target プラグマの OpenMP* オフロードコンパイルを有効/無効にします。オフロードを有効にすると、target プラグマのデフォルトのターゲットデバイスを指定できます。デフォルトは mic です。
ほかの OpenMP* 機能に影響を与えることなく、オフロード機能を有効/無効にする場合もこのオプションを使用します。この場合、OpenMP* ランタイム・ライブラリーのリンクは不要で、コンパイラーは OpenMP* ランタイムの初期化コードを生成する必要はありません。
このオプションと [q または Q]openmp を一緒に指定すると、ほかの OpenMP* 機能に影響します。
Visual Studio*: [Code Generation [Intel C++] (コード生成 [インテル® C++])] > [Enable OpenMP Offloading Compilation and specify target device (OpenMP* オフロードコンパイルを有効にする)]
Eclipse*: [Code Generation (コード生成)] > [Enable OpenMP Offloading Compilation (OpenMP* オフロードコンパイルを有効にする)]
[Code Generation (コード生成)] > [Target Device for OpenMP Offloading Compilation (OpenMP* オフロードコンパイルのターゲットデバイス)]
Xcode*: なし
なし
次の例について考えてみます。
-qno-openmp -qopenmp-offload ! Linux* /Qopenmp- /Qopenmp-offload ! Windows*
上記は、[q または Q]openmp-offload のみを指定する場合と同じです。この場合、オフロード・ライブラリーのみリンクされ、OpenMP* ライブラリーはリンクされません。また、TARGET 用の !$OMP ディレクティブのみ処理されます。
次の例について考えてみます。
-qopenmp -qopenmp-offload ! Linux* /Qopenmp /Qopenmp-offload ! Windows*
この場合、オフロード・ライブラリーと OpenMP* ライブラリーがリンクされ、OpenMP* ランタイムの初期化コードが生成されます。