fopenmp-device-link, Qopenmp-device-link

Determines whether the compiler performs a device link during the compilation step instead of a link step. When enabled for OpenMP offload compilations, it produces file device binaries within the generated fat object.

Syntax

Linux:

-fopenmp-device-link

-fno-openmp-device-link

Windows:

/Qopenmp-device-link

/Qopenmp-device-link-

Arguments

None

Default

OFF

The compiler follows default heuristics during compilation.

Description

This option determines whether the compiler performs a device link during the compilation step instead of a link step. When enabled for OpenMP offload compilations with option -c (Linux) or /c (Windows), it produces file device binaries within the generated fat object.

It is only valid for SPIR64-based devices.

This option is useful for building static libraries, such as the Intel® oneAPI Math Kernel Library (oneMKL), since it can reduce the compilation time of an application using them.

Note

Option -fopenmp-device-link and /Qopenmp-device-link can have an effect on options that are enabled during the device linking phase because it shifts when certain compilation steps occur.

When generating the fat object, anything that used to impact device linking during the link phase (for example, option -Xopenmp-target-backend), will be applied during the compilation phase.

Note

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

IDE Equivalent

None

Alternate Options

None

See Also