Building a Custom SO

A custom shared object (SO) is useful for an application that has few internal modules, and only these modules share Intel IPP code. In this case, you can use dynamic linking with a customized SO containing only those Intel IPP functions that the application uses.

The following table summarizes features of the custom SO.

Custom SO Features

Benefits

Drawbacks

  • Run-time dispatching of processor-specific optimizations

  • Reduced hard-drive footprint compared with a full set of Intel IPP

    SOs

  • Smallest installation package to accommodate use of some of the same Intel IPP functions by multiple applications

  • Application executable requires access to the Intel compiler specific run-time libraries that are delivered with Intel IPP

  • Developer resources are needed to create and maintain the custom

    SOs

  • Integration of new processor-specific optimizations requires rebuilding the custom

    SOs

  • Not appropriate for kernel-mode/device-driver/ring-0 code

To create a custom SO, you need to create a separate build step or project that generates the SO and stubs. The specially developed sample demonstrates how to do it. Refer to the latest updated custom so sample from the Intel IPP samples directory: /ipp-samples/advanced-usage/linkage/customso at http://www.intel.com/software/products/ipp/samples.htm.

Optimization Notice

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


Submit feedback on this help topic

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