Selecting the Threading Layer

Intel MKL supports sequential and parallel execution. For parallel execution, the Intel MKL threading layer provides:

  • mkl_intel_thread.lib and mkl_pgi_thread.lib libraries (for static linking)

  • mkl_intel_thread_dll.lib and mkl_pgi_thread_dll.lib libraries (for dynamic linking)

The parallel mode is based on the OpenMP* threading technology and requires proper OpenMP run-time libraries. Intel® compiler provides OpenMP run-time functionality in the libiomp5md.lib library. You can use this library at run time regardless of the compiler that built the application (Intel, Microsoft*, or PGI*). Your application that calls Intel MKL can also use the OpenMP run-time library supplied with a PGI compiler. To use this library, link your application with the libmkl_pgi_thread.lib or libmkl_pgi_thread_dll.lib library.

The table below explains what Intel MKL libraries and OpenMP* run-time libraries you should choose under different scenarios (static cases only):

Note

Choice of the mkl_sequential.lib library in the threading layer removes threading from Intel MKL calls.

Compiler

Application Threaded?

Threading Layer

RTL Recommended

Comment

Intel

Does not matter

mkl_intel_thread.lib

libiomp5md.lib

PGI

Yes

mkl_pgi_thread.lib or mkl_sequential.lib

PGI* supplied

PGI

No

mkl_intel_thread.lib

libiomp5md.lib

PGI

No

mkl_pgi_thread.lib

PGI* supplied

PGI

No

mkl_sequential.lib

None

Microsoft

Yes

mkl_intel_thread.lib

libiomp5md.lib

For the OpenMP* library of the Microsoft Visual Studio* IDE.

Microsoft

Yes

mkl_sequential.lib

None

For Win32 threading.

Microsoft

No

mkl_intel_thread.lib

libiomp5md.lib

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

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.