Selecting Libraries to Link with

To link with Intel MKL:

  • Choose one library from the Interface layer and one library from the Threading layer
  • Add the only library from the Computational layer and run-time libraries (RTL)

The following table lists Intel MKL libraries to link with your application.

 

Interface layer

Threading layer

Computational layer

RTL

IA-32 architecture,
static linking

libmkl_intel.a

libmkl_intel_thread.a

libmkl_core.a

libiomp5.so

IA-32 architecture,
dynamic linking

libmkl_intel.so

libmkl_intel_thread.so

libmkl_core.so

libiomp5.so

Intel® 64 architecture,
static linking

libmkl_intel_lp64.a

libmkl_intel_thread.a

libmkl_core.a

libiomp5.so

Intel® 64 architecture,
dynamic linking

libmkl_intel_lp64.so

libmkl_intel_thread.so

libmkl_core.so

libiomp5.so

Intel® Many Integrated Core
Architecture (Intel® MIC Architecture),
static linking

libmkl_intel_lp64.a

libmkl_intel_thread.a

libmkl_core.a

libiomp5.so

Intel MIC Architecture,
dynamic linking

libmkl_intel_lp64.so

libmkl_intel_thread.so

libmkl_core.so

libiomp5.so

The Single Dynamic Library (SDL) automatically links interface, threading, and computational libraries and thus simplifies linking. The following table lists Intel MKL libraries for dynamic linking using SDL. See Dynamically Selecting the Interface and Threading Layer for how to set the interface and threading layers at run time through function calls or environment settings.

 

SDL

RTL

IA-32 and Intel® 64 architectures

libmkl_rt.so

libiomp5.so††

††Use the Link-line Advisor to check whether you need to explicitly link the libiomp5.so RTL.

For exceptions and alternatives to the libraries listed above, see Linking in Detail.

Select sticky button color: 
Orange (only for download buttons)
For more complete information about compiler optimizations, see our Optimization Notice.