qmkl, Qmkl

Tells the compiler to link to certain libraries in the Intel® oneAPI Math Kernel Library (oneMKL). On Windows systems, you must specify this option at compile time.

Syntax

Linux:

-qmkl[=lib]

macOS:

-qmkl[=lib]

Windows:

/Qmkl[:lib]

Arguments

lib

Indicates which oneMKL library files should be linked. Possible values are:

parallel

Tells the compiler to link using the threaded libraries in oneMKL. This is the default if the option is specified with no lib.

sequential

Tells the compiler to link using the sequential libraries in oneMKL.

cluster

Tells the compiler to link using the cluster-specific libraries and the sequential libraries in oneMKL. Cluster-specific libraries are not available for macOS*.

Default

OFF

The compiler does not link to the oneMKL library.

Description

This option tells the compiler to link to certain libraries in the Intel® oneAPI Math Kernel Library (oneMKL).

On Linux* and macOS* systems, dynamic linking is the default when you specify -qmkl.

On C++ systems, to link with oneMKL statically, you must specify:

-qmkl -static-intel

On Windows* systems, static linking is the default when you specify /Qmkl. To link with oneMKL dynamically, you must specify:

/Qmkl /libs:dll or /Qmkl /MD

For more information about using oneMKL libraries, see the article in Intel® Developer Zone titled: Intel® oneAPI Math Kernel Library Link Line Advisor, which is located in https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl/link-line-advisor.html.

Note

On Windows* systems, this option adds directives to the compiled code, which the linker then reads without further input from the driver. You do not need to specify a separate link command.

On Linux* and macOS* systems, the driver must add the library names explicitly to the link command. You must use option -qmkl to perform the link to pull in the dependent libraries.

IDE Equivalent

Visual Studio: Libraries > Intel® oneAPI Math Kernel Library

Alternate Options

Linux and macOS* on ifort: -mkl (this is a deprecated option)

See Also