# qopenmp-offload

Enables or disables OpenMP* offloading compilation for the target pragmas.

## Syntax

Linux: | -qopenmp-offload[=device] -qno-openmp-offload

macOS: | None

Windows: | None

## Arguments

device | Specifies the default device for target pragmas. Possible values are:
host | OpenMP* offloading constructs are ignored. For Openmp* combined offload constructs, only the offloading part is ignored.

## Default

-qno-openmp-offload | OpenMP* offloading compilation is disabled. However, if option qopenmp is specified, the default is ON and OpenMP offloading compilation is enabled.

## Description

This option enables or disables OpenMP* offloading compilation for the target pragmas. When enabling offloading, it lets you specify what the default target device should be for the target pragmas. .

### Note

The TARGET directives are only available on Linux* systems.

You can also use this option if you want to enable or disable the offloading feature with no impact on other OpenMP* features. In this case, no OpenMP runtime library is needed to link and the compiler does not need to generate OpenMP runtime initialization code.

If you specify this option with the qopenmp option, it can impact other OpenMP* features.

## IDE Equivalent

Visual Studio: None

Eclipse: Code Generation > Enable OpenMP Offloading Compilation

Code Generation > Target Device for OpenMP Offloading Compilation

Xcode: None

## Alternate Options

None

## Example

Consider the following:

    -qno-openmp -qopenmp-offload

The above is equivalent to specifying only qopenmp-offload. In this case, only the offload library is linked, not the OpenMP* library, and only the !$OMP directives for TARGET are processed but no other !$OMP directives.

Consider the following:

    -qopenmp -qopenmp-offload

In this case, the offload library is linked, the OpenMP library is linked, and OpenMP runtime initialization code is generated.

Parent topic: OpenMP* Options and Parallel Processing Options

## See Also

qopenmp, Qopenmp compiler option