Intel® Integrated Performance Primitives 9.0 Update 4 Developer Guide

Managing Memory Allocations

Depending on implementation layer and specific parameters, some Intel® IPP functions need different amount of memory for coefficients storage and working buffers. To address this, follow the steps below:

  1. Compute the size of the required buffer using the <operation function>GetSize function.
  2. Set up any buffers needed for initialization.
  3. Initialize the specification structure for the operation.
  4. Free the buffers need for initialization only.
  5. Set up working buffers for the main operation.
  6. Do the main operation.
  7. Free the specification and working buffers.

If you use several Intel IPP functions with the pBuffer parameter (external memory buffer), for better efficiency and performance it is recommended to call all <operation function>GetSize APIs in one single place of your application and allocate only one buffer that has the largest size. This approach guarantees optimal use of system memory and all cache levels.

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