Intel® Fortran Compiler 17.0 Developer Guide and Reference

qopenmp-offload, Qopenmp-offload

Enables or disables OpenMP* offloading compilation for the TARGET directives. This option only applies to Intel® MIC Architecture. 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

Syntax

Linux:

-qopenmp-offload[=device]

-qno-openmp-offload

macOS:

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* and Linux* systems on Intel® 64 architecture

host

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

None

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 directives. When enabling offloading, it lets you specify what the default target device should be for the TARGET directives. 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
/Qopenmp- /Qopenmp-offload      ! Windows 

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 
/Qopenmp /Qopenmp-offload       ! Windows 

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

See Also