OpenMP* 機能が有効な場合、指定した GPU ターゲットへのオフロードを有効にします。この機能は ifx でのみ利用できます。
Linux*: | -fopenmp-targets=keyword |
macOS*: | なし |
Windows*: | /Qopenmp-targets:keyword |
keyword |
利用可能な値は spir64 のみです。 spir64 を指定すると、コンパイラーはインテル® GPU 向けの x86 + SPIR*64 FAT バイナリーを生成します。 |
オフ |
このオプションを指定しない場合、x86 + SPIR*64 FAT バイナリーは生成されません。 |
このオプションは、OpenMP* 機能が有効な場合、指定した GPU ターゲットへのオフロードを有効にします。
このオプションを使用するには、以下のいずれかのオプションを指定して OpenMP* 機能を有効にする必要があります。
[q または Q]openmp
-fiopenmp (Linux*) または /Qiopenmp (Windows*) (ifx のみ)
これらのオプションは、ifx では -qopenmp (Linux*) または /Qopenmp (Windows*) と等価です。
-fopenmp (ifx、非推奨の古いオプション)
このオプションは、-qopenmp (Linux*) と等価です。
次に例を示します。
ifx -qopenmp -fopenmp-targets=spir64 matmul_offload.cpp -o matmul
-fopenmp-targets (Linux*) または /Qopenmp-targets (Windows*) を指定すると、ターゲットコンパイルで C++ 例外処理が無効になります。
Linux* 上のホストコンパイルで C++ 例外処理を無効にするには、-fno-exceptions オプションを指定する必要があります。
Visual Studio*: [Code Generation] > [Enable OpenMP Offloading]
なし