インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
target プラグマの OpenMP* オフロードコンパイルを有効/無効にします。 このオプションは、インテル® MIC アーキテクチャーおよびインテル® グラフィックス・テクノロジーにのみ適用されます。 -qopenmp-offload は、古いオプション -openmp-offload の後継オプションです。
インテル® MIC アーキテクチャーをターゲットとするインテル® 64 アーキテクチャー、インテル® グラフィックス・テクノロジーをターゲットとする IA-32 アーキテクチャー、またはインテル® グラフィックス・テクノロジーをターゲットとするインテル® 64 アーキテクチャーでのみ利用できます。
Linux*: | -qopenmp-offload[=device] -qno-openmp-offload |
OS X*: | なし |
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* ランタイムの初期化コードが生成されます。