qopenmp-link

Controls whether the compiler links to static or dynamic OpenMP* runtime libraries.

Syntax

Linux:

-qopenmp-link=library

Windows:

None

Arguments

library

Specifies the OpenMP library to use. Possible values are:

static

Tells the compiler to link to static OpenMP runtime libraries. Note that static OpenMP libraries are deprecated.

dynamic

Tells the compiler to link to dynamic OpenMP runtime libraries.

Default

-qopenmp-link=dynamic

The compiler links to dynamic OpenMP* runtime libraries. However, if Linux* option -static is specified, the compiler links to static OpenMP runtime libraries.

Description

This option controls whether the compiler links to static or dynamic OpenMP* runtime libraries.

To link to the static OpenMP runtime library (RTL) and create a purely static executable, you must specify -qopenmp-link=static. However, we strongly recommend you use the default setting, -qopenmp-link=dynamic.

Option -qopenmp-link=dynamic cannot be used in conjunction with option -static. If you try to specify both options together, an error will be displayed.

Note

Compiler options -static-intel and -shared-intel (Linux*) have no effect on which OpenMP runtime library is linked.

Note

On Linux systems, the OpenMP runtime library depends on using libpthread and libc (libgcc when compiled with gcc). Libpthread and libc (libgcc) must both be static or both be dynamic.

If both libpthread and libc (libgcc) are static, then the static version of the OpenMP runtime should be used. If both libpthread and libc (libgcc) are dynamic, then either the static or dynamic version of the OpenMP time may be used.

Note

This option only applies to host compilation. When offloading is enabled, it does not impact device-specific compilation. Offloading can only be enabled when using ifx.

IDE Equivalent

None

Alternate Options

None