# 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]

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.

## 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* 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 /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* 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.

### Note

If you specify option [q or Q]mkl, or -qmkl=parallel or /Qmkl:parallel, and you also specify option [Q]tbb, the compiler links to the standard threaded version of oneMKL.

However, if you specify [q or Q]mkl, or -qmkl=parallel or /Qmkl:parallel, and you also specify option [Q]tbb and option [q or Q]openmp, the compiler links to the OpenMP* threaded version of oneMKL.

## IDE Equivalent

Visual Studio: None

Eclipse: Performance Library Build Components > Use Intel® oneAPI Math Kernel Library

## Alternate Options

None

Parent topic: Advanced Optimization Options

## See Also

static-intel compiler option
MD compiler option