# 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® oneAPI DPC++ Compiler > Language > Enable OpenMP Offloading

Intel C++ Compiler > Language > Enable OpenMP Offloading

Eclipse: Intel® oneAPI DPC++ Compiler > Language > Enable OpenMP Offloading

Intel C++ Compiler > Language > Enable OpenMP Offloading

## Alternate Options

None

Parent topic: Offload Compilation Options, OpenMP* Options, and Parallel Processing Options

## See Also

fiopenmp, Qiopenmp compiler option
qopenmp, Qopenmp compiler option