Intel® IPP - Library dependencies by domain

Published:07/16/2012   Last Updated:10/28/2015

I want to build an application with the Intel® Integrated Performance Primitives (Intel® IPP). Which domain libraries do I need to link to?

Intel IPP is divided into groups of related functions. Each subdivision is called domain, and has its own header file, static libraries, dynamic libraries, and tests. The table below lists each domain's code, header and functional area.

The only way to know the exact dependencies for the Intel IPP functions called from your application is to link to the libraries. For example, if your application uses Color Conversion functions then you must link to ippcc.lib (Windows*) or ippcc.so (Linux*). After you link, if there are unresolved symbols to functions with the prefix ippi, this means you also need to link to ippi.lib (Windows) or ippi.so (Linux). The ippcore library (ippcore.lib for Windows or ippcore.so for Linux) is required for all domains.

The file ipp.h includes Intel IPP header files with the exception of cryptography and generated functions. If you do not use cryptography and generated functions, include ipp.h in your application for forward compatibility. If you want to use cryptography or generated functions, you must directly include ippcp.h and ippgen.h in your application.

Library Dependencies by Domain

Domain

Domain Code

Depends on

Color Conversion

CC

Core, VM, S, I

String Operations

CH

Core, VM, S

Cryptography

CP

Core

Computer Vision

CV

Core, VM, S, I

Data Compression

DC

Core, VM, S

Image Processing

I

Core, VM, S

Signal Processing

S

Core, VM

Vector Math

VM

Core

 

The figure below represents the domain internal dependencies graph.

 

Note

Please avoid starting any new projects with the deprecated domains.

 

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