Intel® C++ Compiler 16.0 User and Reference Guide

qopenmp-offload, Qopenmp-offload

Enables or disables OpenMP* offloading compilation for the target pragmas. This option only applies to Intel® MIC Architecture and Intel® Graphics Technology. Option -qopenmp-offload is the replacement option for -openmp-offload, which is deprecated.

Architecture Restrictions

Only available on Intel® 64 architecture targeting Intel® MIC Architecture, on IA-32 architecture targeting Intel® Graphics Technology, or on Intel® 64 architecture targeting Intel® Graphics Technology

Syntax

Linux:

-qopenmp-offload[=device]

-qno-openmp-offload

OS X:

None

Windows:

/Qopenmp-offload[:device]

/Qopenmp-offload-

Arguments

device

Specifies the default device for target pragmas. Possible values are:

mic

Specifies the target device is Intel® MIC Architecture; this is the default. This value is available for Windows* OS and Linux* OS on Intel® 64 architecture

gfx

Specifies the target device is Intel® Graphics Technology. This value is available for Windows* OS and Linux* OS on Intel® 64 architecture, and on Windows* OS on IA-32 architecture.

host

Causes the target code to run on the host system, while still doing the outlining for offload. This lets you test #pragma omp target when no target device is available. This value is available for Windows* OS and Linux* OS on IA-32 and Intel® 64 architecture.

Default

-qno-openmp-offload or /Qopenmp-offload-

OpenMP* offloading compilation is disabled. However, if option [q or Q]openmp 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. The default is mic.

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 [q or Q]openmp option, it can impact other OpenMP* features.

IDE Equivalent

None

Alternate Options

None

Example

Consider the following:

-qno-openmp -qopenmp-offload    ! Linux OS
/Qopenmp- /Qopenmp-offload      ! Windows OS

The above is equivalent to specifying only [q or Q]openmp-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       ! Linux OS
/Qopenmp /Qopenmp-offload       ! Windows OS

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

See Also