Developer Guide

Developer Guide for Intel® oneAPI Math Kernel Library Linux*

ID 766690
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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 Linux* systems, the -qmkl-ilp64 compiler option must be specified both in the compilation and link lines. In addition, dynamic linking against oneMKL is the default for the -qmkl-ilp64 compiler option. If you want to link against oneMKL statically, you must additionally specify -static-intel.

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