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

qopenmp-offload、Qopenmp-offload

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 プラグマのデフォルトのデバイスを指定します。設定可能な値は以下のとおりです。

mic

ターゲットデバイスをインテル® MIC アーキテクチャーに指定します。これはデフォルトです。この値は、インテル® 64 アーキテクチャー・ベースの Windows* および Linux* システムで利用できます。

gfx

ターゲットデバイスをインテル® グラフィックス・テクノロジーに指定します。この値は、インテル® 64 アーキテクチャー・ベースの Windows* および Linux* システム、IA-32 アーキテクチャー・ベースの Windows* システムで利用できます。

host

OpenMP* オフロード構造は無視されます。OpenMP* 結合オフロード構造では、オフロード部分のみ無視されます。

デフォルト

-qno-openmp-offload または /Qopenmp-offload-

OpenMP* のオフロードコンパイルは無効です。ただし、[q または Q]openmp オプションを指定すると、デフォルトはオンになり、OpenMP* のオフロードコンパイルが有効になります。

説明

このオプションは、target プラグマの OpenMP* オフロードコンパイルを有効/無効にします。オフロードを有効にすると、target プラグマのデフォルトのターゲットデバイスを指定できます。デフォルトは mic です。

ほかの OpenMP* 機能に影響を与えることなく、オフロード機能を有効/無効にする場合もこのオプションを使用します。この場合、OpenMP* ランタイム・ライブラリーのリンクは不要で、コンパイラーは OpenMP* ランタイムの初期化コードを生成する必要はありません。

このオプションと [q または Q]openmp を一緒に指定すると、ほかの OpenMP* 機能に影響します。

IDE オプション

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* ランタイムの初期化コードが生成されます。

関連情報