Developer Guide for Intel® Integrated Performance Primitives 2019

Linking Options

Intel® Integrated Performance Primitives (Intel® IPP) is distributed as:

The following table provides description of libraries available for linking.

  Single-threaded

(non-threaded)

Threading Layer

(externally threaded)

Description Suitable for application-level threading Implementation of application-level threading depends on single-threaded libraries
Found in

Main package

After installation: <ipp directory>/lib/<arch>

Main package

After installation: <ipp directory>/lib/<arch>/tl/<threading_type>

, where <threading_type> is one of {tbb, openmp}
Static linking

Windows* OS: mt suffix in a library name (ipp<domain>st.lib)

Linux* OS and macOS*: no suffix in a library name (libipp<domain>.a)

Windows* OS: mt suffix in a library name (ipp<domain>mt_tl.lib)

Linux* OS and macOS*: no suffix in a library name (libipp<domain>_tl.a)

+ single-threaded libraries dependency

Dynamic Linking

Default (no suffix)

Windows* OS: ipp<domain>.lib

Linux* OS: libipp<domain>.a

macOS*: libipp<domain>.dylib

_tl suffix

Windows* OS: ipp<domain>_tl.lib

Linux* OS: libipp<domain>_tl.a

macOS*: libipp<domain>_tl.dylib

+ single-threaded library dependency

To switch between Intel IPP libraries, set the path to the preferred library in system variables or in your project, for example:

Note

On Linux* OS and macOS*, Intel IPP library depends on the following Intel® C++ Compiler runtime libraries: libirc.a, libsvml.a, and libimf.a. You should add a link to these libraries into your project. You can find these libraries in <intel compiler directory>/lib folders.

Threading Layer depends on the OpenMP* or Intel® Threading Building Blocks (Intel® TBB) library according to the selected threading type. You can find these libraries in <intel compiler directory>/lib or <tbb directory>/lib folders.

See Also