Developer Guide and Reference

Contents

fopenmp-targets, Qopenmp-targets

Enables offloading to a specified GPU target if OpenMP* features have been enabled.

Syntax

Linux:
-fopenmp-targets
=
keyword
Windows:
/Qopenmp-targets
:
keyword
Arguments
keyword
The only supported value for this argument is
spir64
.
When you specify
spir64
, the compiler generates an x86 + SPIR64 (64-bit Standard Portable Intermediate Representation) fat binary for Intel® GPU devices.
Default
OFF
If this option is not specified, no x86 + SPIR64 fat binary is created.
Description
This option enables offloading to a specified GPU target if OpenMP* features have been enabled.
To use this option, you must enable recognition of OpenMP* features by specifying one of the following options:
  • [q or Q]openmp
  • -fiopenmp
    (Linux*) or
    /Qiopenmp
    (Windows*)
  • -fopenmp
    (deprecated; it is equivalent to
    -qopenmp
    on Linux*)
The following shows an example:
icx (or icpx) -fiopenmp -fopenmp-targets=spir64 matmul_offload.cpp -o matmul
When you specify
-fopenmp-targets
(Linux*) or
/Qopenmp-targets
(Windows*), C++ exception handling is disabled for target compilations.
For host compilations on Linux* systems, if you want to disable C++ exception handling, you must specify option
-fno-exceptions
.
IDE Equivalent
Visual Studio:
DPC++ > Language > Enable OpenMP Offloading
C/C++ > Language [Intel C++] > Enable OpenMP Offloading
Intel(R) oneAPI DPC++ Compiler > Language > Enable OpenMP Offloading
Intel C++ Compiler > Language > Enable OpenMP Offloading
Eclipse:
Intel(R) oneAPI DPC++ Compiler > Language > Enable OpenMP Offloading
Intel C++ Compiler > Language >  Enable OpenMP Offloading
Alternate Options
None

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.