# fopenmp-targets, Qopenmp-targets

Enables offloading to a specified GPU target if OpenMP* features have been enabled. This feature is only available for ifx.

## Syntax

Linux: | -fopenmp-targets=keyword

macOS: | None

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:

Linux

- -qopenmp

- -fiopenmp (ifx only)

  This options is equivalent in ifx to -qopenmp

- -fopenmp (ifx; deprecated)

  This option is equivalent to -qopenmp

Windows

- /Qopenmp

- /Qiopenmp (ifx only)

  This option is equivalent in ifx to /Qopenmp

The following shows an example:

      ifx -qopenmp -fopenmp-targets=spir64 matmul_offload.cpp -o matmul

When you specify -fopenmp-targets or /Qopenmp-targets, C++ exception handling is disabled for target compilations.

Linux

For host compilations, if you want to disable C++ exception handling, you must specify option -fno-exceptions.

### Note

When OpenMP* offloading is enabled, this option only applies to device-specific compilation.

## IDE Equivalent

Visual Studio: Code Generation > Enable OpenMP Offloading

## Alternate Options

None

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

## See Also

qopenmp, Qopenmp compiler option