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-ilp64 Compiler Option

The Intel® oneAPI DPC++/C++ Compiler, the Intel® Fortran Compiler Classic, and the Intel® Fortran Compiler support the following /Qmkl-ilp64 compiler option variants so that you can easily link against the Intel® oneAPI Math Kernel Library (oneMKL) ILP64 interface, which supports large data arrays (with more than 231 - 1 elements):


/Qmkl-ilp64:parallel (/Qmkl-ilp64)

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


/Qmkl-ilp64:parallel /Qtbb (/Qmkl-ilp64 /Qtbb)

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

/Qmkl-ilp64:sequential

Links against the oneMKL ILP64 interface, the oneMKL sequential threading layer, and the necessary libraries.

For each /Qmkl-ilp64 compiler option variant on Intel 64–architecture systems, the compiler links your application against the ILP64 interface. To link against the LP64 interface in other cases, use the /Qmkl compiler option variants (see Using the /Qmkl Compiler Option).

If both /Qmkl-ilp64 and /Qmkl are specified on the command line, the rightmost specified option takes precedence.

On Windows* systems, the /Qmkl-ilp64 compiler option needs to be specified only in the compilation line. In addition, static linking against oneMKL is the default for the /Qmkl-ilp64 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.