Intel® Math Kernel Library 11.0.2 User Guide
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).
Each Intel MKL threading library contains the same code compiled by the respective compiler (Intel, gnu and PGI* compilers on Linux OS).
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 |
|
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 |