Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library Windows*

ID 766692
Date 3/22/2024
Public
Document Table of Contents

Using the /Qmkl Compiler Option

The Intel® oneAPI DPC++/C++ Compiler, the Intel® Fortran Compiler Classic, and the Intel® Fortran Compiler support the following /Qmkl compiler option variants so that you can easily link against the Intel® oneAPI Math Kernel Library (oneMKL):


/Qmkl:parallel (/Qmkl)

Links against the oneMKL Intel threading layer and the necessary libraries. The /Qmkl:parallel option can be simplified to /Qmkl.


/Qmkl:parallel /Qtbb (/Qmkl /Qtbb)

Links against the oneMKL Intel TBB threading layer and the necessary libraries. The /Qtbb option is supported only by the Intel® oneAPI DPC++/C++ Compiler.

/Qmkl:sequential

Links against the oneMKL sequential threading layer and the necessary libraries.

For each /Qmkl compiler option variant on Intel 64–architecture systems, the compiler links your application against the LP64 interface except when you are using the C++ compiler icx with the -fsycl option, which links against the ILP64 interface. To link against the ILP64 interface in other cases, use the /Qmkl-ilp64 compiler option variants (see Using the /Qmkl-ilp64 Compiler Option).

On Windows* systems, the /Qmkl compiler option needs to be specified only in the compilation line. In addition, static linking against oneMKL is the default for the /Qmkl compiler option. If you want to link against oneMKL dynamically, you must additionally specify /MD.

For the complete compilation and link lines, use the oneMKL Link Line Advisor. For more information, see Linking in Detail.