Using Intel IPP Shared Object (SO) Libraries

Intel IPP includes the shared object (s) libraries () and soft links to them in the ipp/lib/<arch> directory.

Before using the shared object libraries, add a path to the libraries to the system variable LD_LIBRARY_PATH by using the shell script (see Setting Environment Variables ).

Alternatively you can set the environment variable LD_LIBRARY_PATH manually. For example, if the libraries are in the /opt/intel/Compiler/ipp/lib/ia32 directory, enter the following command line for bash:


export LD_LIBRARY_PATH=/opt/intel/Compiler/ipp/lib/ia32:$LD_LIBRARY_PATH

or for csh:


setenv LD_LIBRARY_PATH=/opt/intel/Compiler/ipp/lib/ia32:${LD_LIBRARY_PATH}

The shared objects libraries libipp*.so.x.x (* denotes the appropriate function domain, x.x - denotes Intel IPP version number) are "dispatcher" dynamic libraries. At run time, they detect the processor and load the correct processor-specific shared object libraries. This enables you to write the code to call the Intel IPP functions without worrying about which processor the code will execute on - the appropriate processor-specific library is automatically used. These processor-specific libraries contain processor specific codes in their names. For example, libippiv8.so.7.0 in the /ipp/lib/ia32 directory reflects the imaging processing libraries optimized for the Intel® Core™ 2 Duo processors.

Include in the project soft links to the shared libraries instead of the shared libraries themselves. These soft links are named as the corresponding shared libraries without version indicator, for example, libippiv8.so.

See also Selecting Intel® IPP Libraries Needed by Your Application.

Note iconNote

You must include the appropriate libiomp5.so in your PATH environment variable. You can find this file in the compiler/lib/<arch> directory.

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.


Submit feedback on this help topic

Copyright © 2008 - 2010, Intel Corporation. All rights reserved.