Intel® Math Kernel Library 11.0.2 User Guide

Selecting the Threading Layer

Several compilers that Intel MKL supports use the OpenMP* threading technology. Intel MKL supports implementations of the OpenMP* technology that these compilers provide. To make use of this support, you need to link with the appropriate library in the Threading Layer and Compiler Support Run-time Library (RTL).

Threading Layer

Each Intel MKL threading library contains the same code compiled by the respective compiler (Intel, gnu and PGI* compilers on Linux OS).

RTL

This layer includes libiomp, the compatibility OpenMP* run-time library of the Intel compiler. In addition to the Intel compiler, libiomp provides support for one more threading compiler on Linux OS (GNU). That is, a program threaded with a GNU compiler can safely be linked with Intel MKL and libiomp.

The table below helps explain what threading library and RTL you should choose under different scenarios when using Intel MKL (static cases only):

Compiler

Application Threaded?

Threading Layer

RTL Recommended

Comment

Intel

Does not matter

libmkl_intel_thread.a

libiomp5.so

PGI

Yes

libmkl_pgi_thread.a or libmkl_sequential.a

PGI* supplied

Use of libmkl_sequential.a removes threading from Intel MKL calls.

PGI

No

libmkl_intel_thread.a

libiomp5.so

PGI

No

libmkl_pgi_thread.a

PGI* supplied

PGI

No

libmkl_sequential.a

None

GNU

Yes

libmkl_gnu_thread.a

libiomp5.so or GNU OpenMP run-time library

libiomp5 offers superior scaling performance.

GNU

Yes

libmkl_sequential.a

None

GNU

No

libmkl_intel_thread.a

libiomp5.so

other

Yes

libmkl_sequential.a

None

other

No

libmkl_intel_thread.a

libiomp5.so

Optimization Notice

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804


Submit feedback on this help topic