Developer Guide for Intel® oneAPI Math Kernel Library for Windows*
Using the mkl-ilp64 Compiler Option
The Intel® oneAPI DPC++/C++ Compiler, the Intel® Fortran Compiler Classic, and the Intel® Fortran Compiler support the following mkl-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 2 31 - 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 mkl-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 mkl compiler option variants (see Using the mkl Compiler Option ).
If both mkl-ilp64 and mkl 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 .