Developer Guide

Contents

Linking with Compiler Run-time Libraries

Dynamically link
libiomp5
or
tbb
library even if you link other libraries statically.
Linking to the
libiomp5
statically can be problematic because the more complex your operating environment or application, the more likely redundant copies of the library are included. This may result in performance issues (oversubscription of threads) and even incorrect results.
To link
libiomp5
or
tbb
dynamically, be sure the
PATH
environment variable is defined correctly.
Sometimes you may improve performance of your application with threaded
Intel® MKL
by using the
/MT
compiler option. The compiler driver will pass the option to the linker and the latter will load multi-thread (MT) static run-time libraries.
However, to link a Vector Mathematics (VM) application that uses the
errno
variable for error reporting, compile and link your code using the option that depends on the linking model:
  • /MT
    for linking with static
    Intel® MKL
    libraries
  • /MD
    for linking with dynamic
    Intel® MKL
    libraries

Product and Performance Information

1

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