Intel® Math Kernel Library 11.1 Update 3 User's Guide
Intel MKL supports sequential and parallel execution. For parallel execution, the Intel MKL threading layer provides:
libmkl_intel_thread.a, libmkl_gnu_thread.a, and libmkl_pgi_thread.a libraries (for static linking)
libmkl_intel_thread.so, libmkl_gnu_thread.so, and libmkl_pgi_thread.so 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 libiomp5.so library. You can use this library at run time regardless of the compiler that built the application (Intel, GNU*, or PGI*). Your application that calls Intel MKL can also use the OpenMP run-time library supplied with a GNU or PGI compiler. To use this library, link your application with the libmkl_gnu_thread.* or libmkl_pgi_thread.* library, respectively.
The table below explains what Intel MKL libraries and OpenMP* run-time libraries you should choose under different scenarios (static cases only):
Choice of the libmkl_sequential.a library in the threading layer removes threading from Intel MKL calls.
|
Compiler |
Application Threaded? |
Threading Layer |
RTL Recommended |
|---|---|---|---|
|
Intel |
Does not matter |
libmkl_intel_thread.a |
libiomp5.so |
|
PGI |
Yes |
libmkl_pgi_thread.a or libmkl_sequential.a |
PGI* supplied |
|
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 or libmkl_sequential.a |
GNU OpenMP run-time library |
|
GNU |
No |
libmkl_intel_thread.a |
libiomp5.so |
|
GNU |
No |
libmkl_gnu_thread.a |
GNU OpenMP run-time library |
|
GNU |
No |
libmkl_sequential.a |
None |
|
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 |