Developer Guide for Intel® Integrated Performance Primitives
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> (static) and <ipp directory>/redist/<arch> (dynamic) |
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>mt.lib) Linux* OS: no suffix in a library name (libipp<domain>.a) |
Windows* OS: _mt_tl_<threading_sfx> suffix in a library name (ipp<domain>mt_tl_<threading_sfx>.lib) Linux* OS: _tl_<threading_sfx> suffix in a library name (libipp<domain>_tl_<threading_sfx>.a) + single-threaded libraries dependency, where <threading_sfx> is one of {tbb, omp} |
Dynamic Linking | Default (no suffix) Windows* OS: ipp<domain>.dll Linux* OS: libipp<domain>.so |
_tl_<threading_sfx> suffix Windows* OS: ipp<domain>_tl_<threading_sfx>.dll Linux* OS: libipp<domain>_tl_<threading_sfx>.so + single-threaded library dependency, where <threading_sfx> is one of {tbb, omp} |
To switch between Intel IPP libraries, set the path to the preferred library in system variables or in your project, for example:
Single-threaded: SET LIB=<ipp directory>/lib/<arch>
Threading Layer: SET LIB=<ipp directory>/lib/<arch>/tl/<threading_type>. Additionally, set path to single-threaded libraries: SET LIB=<ipp directory>/lib/<arch>
Single-threaded: gcc <options> -L <ipp directory>/lib/<arch>
Threading Layer: gcc <options> -L <ipp directory>/lib/<arch>/tl<threading_type>. Additionally, set path to single-threaded libraries: gcc <options> -L <ipp directory>/lib/<arch>
On Linux* OS, 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.