Intel IPP operations are divided into groups according to the input data on which the operation is performed. Each group has its own prefix in the function name (see Function Naming - Data-Domain). The input data types are:
One-Dimensional Arrays and Signals
This group includes most functions operating on one-dimensional arrays of data. Generally these arrays are signals, and many of the operations are signal-processing operations. Examples of one-dimensional array operations include:
vectorized scalar arithmetic, logical, statistical operations
digital signal processing
data compression
audio processing and audio coding
speech coding
cryptography and data integrity
string operations
Images
An image is an two-dimensional array of pixels. Their specific features distinguish them from general two-dimensional array. Examples of image operations include:
arithmetic, logical, statistical operations
color conversion
image filtering
image linear and geometric transformations
morphological operations
computer vision
image compression
video coding
Matrices
This group includes functions operating on matrices and vectors that are one- and two-dimensional arrays, and on arrays of matrices and vectors. These arrays are treated as linear equations or data vectors and subjected to linear algebra operations. Examples of matrix operations include:
vector and matrix algebra
solving systems of linear equations
solving least squares problem
computing eigenvalue problem
3D objects
This group includes functions operating with 3D objects. In this case input data depends on the used techniques. Examples of 3D operations include:
realistic rendering
resizing and affine transforming
There are several core functions that do not perform operations on one of these input data types. Examples of such operations include getting the type of CPU, aligning pointers to the specified number of bytes, controlling the dispatcher of the merged static libraries. These functions have their own header file, static libraries and SOs.
Code |
Header file |
Static Libraries |
SO |
Prefix in Function Name |
---|---|---|---|---|
ippCore |
ippcore.h |
libippcore_l.a libippcore_t.a |
libippcore.so.x.x |
ipp |
Here x.x refers to the product version number, for example 7.0.
Optimization Notice |
---|
The Intel® Integrated Performance Primitives (Intel® IPP) library contains functions that are more highly optimized for Intel microprocessors than for other microprocessors. While the functions in the Intel® IPP library offer optimizations for both Intel and Intel-compatible microprocessors, depending on your code and other factors, you will likely get extra performance on Intel microprocessors. While the paragraph above describes the basic optimization approach for the Intel® IPP library as a whole, the library may or may not be optimized to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® 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. Intel recommends that you evaluate other library products to determine which best meets your requirements. |
Copyright © 2008 - 2010, Intel Corporation. All rights reserved.