Before You Begin Using Intel IPP

Before you start using Intel IPP, it is helpful to understand some basic concepts summarized in the table below:

What you need to know before you get started

Function Domain

Identify the Intel IPP functional domain that questions to answer belong to.

Reason: If you know the functional domain you intend to use, it will narrow the search in the Reference Manuals for specific routines you need.

Besides, you may easily find a sample codes you would like to run from http://www.intel.com/software/products/ipp/samples.htm.

Refer to the sections "Domains" and "Selecting Intel IPP Libraries Needed for your Application" to understand what function domains are and what libraries are needed, and to the table "Library Dependencies by Domain" to understand what kind of cross-domain dependency is introduced.

Linking model

Decide what linking method is appropriate for linking.

Reason: If you choose a linking method that suits you, you will get the best linking results. For information on the benefits of each linking method, linking command syntax and examples, see Linking Your Application with Intel(R) IPP

Threading model

Select among the following options to determine how you are going to thread your application:

  • Your application is already threaded.

  • You may want to use the Intel(R) threading capability, that is, Compatibility OpenMP* run-time library (libiomp), or a threading capability provided by a third-party compiler.

  • You do not want to thread your application.

Reason: By default, Intel IPP uses the OpenMP* software to set the number of threads that will be used. If you need a different number, you have to set it yourself using one of the available mechanisms. For more information, see Supporting Multithreaded Applications.

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.