This document provides a general summary of new features and important notes about the Intel® Integrated Performance Primitives (Intel® IPP) library software product.
Please see the following links for the latest information regarding the Intel® IPP:
- Links to documentation, help, and code samples can be found on the Intel® IPP Main Product Page
- A list of downloadable product components can be found here.
Please register your product using your preferred email address. This helps Intel recognize you as a valued customer in the support forum and insures that you will be notified of product updates. You can read Intel's Online Privacy Notice Summary if you have any questions regarding the use of your email address for software product registration.
For general information about Intel technical support, product updates, user forums, FAQs, tips and tricks and other support questions, please visit http://www.intel.com/software/products/support/.
What's New in Intel® IPP 7.1
For more information on new features in Intel® IPP 7.1, please see What's new in Intel® IPP 7.1.
Intel® IPP 7.1 System Requirements
Please see Intel® IPP 7.1 System Requirements for hardware, operating systems, compilers, and additional software required to use this library.
7.1 Release Notes
Performance and Optimization Changes:
- h9/l9 Intel® AVX2 implementation layers were added.
- Many top functions were optimized with the 256-bit Intel® AVX2 instruction set. See http://software.intel.com/en-us/articles/haswell-support-in-intel-ipp for more information.
- Intel® Atom™ optimizations were added for AMR WB/GSM, MP3, AAC, AC3, MPEG2, and VC1.
- The ippsResamplePolyphase functions were reinstated to the signal processing domain.
- New image resize:
- IppiResizeSpec holds precalculated coefficients based on input/output resolution combination. Multiple resizes which can be completed without recomputing them.
- Separate functions for each interpolation method.
- Significantly smaller executable size footprint with static linking.
- Improved support for threading and tiled image processing.
- For more information please see Resize Changes in Intel® IPP 7.1
For more information please see Intel® IPP 7.1 Deprecated Features
- The deprecation process for a selective list of features started, including full deprecation of the RR, DI, and GEN domains. Note: deprecation is not removal. Functions will remain usable while we gather feedback. Please let us know if removal of any of these functions will cause hardship. For more information please see Intel® IPP 7.1 Deprecated Features.
- Internal function threading is deprecated. Threaded static libraries (_t) are available as a separate download. For more information please see Intel® IPP 7.1 Deprecated Features.
- Several samples, including image and video processing codecs, were moved to legacy status.
- Threaded static libraries (_t) are now available as a separate download. For more information please see Intel® IPP 7.1 Deprecated Features.
- The Intel® IPP Reference Manual is no longer available with the product as uncompressed help. Help content for integration with Microsoft* Visual Studio* 2008 and 2010 continues to be provided with the Windows* OS product. The Intel® IPP Reference Manual (uncompressed help format) is available for download at http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-documentation/
- There were several API changes, including adding new resize variants and removing some deprecated since Intel® IPP 6.0, reinstating ippsResamplePolyphase, consolidation of ippsJoin_32f16s_D2L and ippsVLC* functions to audio coding, and removal of previously deprecated functions.
- The samples build process has been improved. For more information please see Building the Intel® IPP 7.1 Samples.
- The px/mx (generic) implementations, released for Intel® IPP 7.0, are not available for Intel® IPP 7.1. They were a one-time release with the 7.0 API, and are not compatible with 7.1.
Known Intel® IPP 7.1 Issues and Limitations:
- ippiFilter_Round16s_8u_C3R: This function may produce an exception when executed on 4th Generation Intel® Core™ processors with a 32-bit Windows operating system. The ippiFilter_8u_C3R function may be a workaround.
- ippiDistanceTransform_5x5_8u32f_C1R: This function may produce an exception when executed on 4th Generation Intel® Core™ processors with a 32-bit Windows operating system.
- ippiResize functions: These functions work with even image resolutions only. Odd resolutions are cropped to an even size and return a warning.
The core Intel® IPP v7.1 for Windows* OS consists of two installation packages:
- Intel® IPP for Microsoft* Windows* on IA-32 Architecture
- Intel® IPP for Microsoft* Windows* on Intel® 64 Architecture
and the following optional add-on packages:
- Intel® IPP for Microsoft* Windows multithreaded library add-on
- Intel® IPP for Microsoft* Windows* Cryptography Add-on
- Intel® IPP for Microsoft* Windows* SPIRAL Add-on
The core Intel® IPP v7.1 for Linux* OS consists of two installation packages:
- Intel® IPP for Linux* on IA-32 Architecture
- Intel® IPP for Linux* on Intel® 64 Architecture
and the following optional add-on packages:
- Intel® IPP for Linux* multithreaded library add-on
- Intel® IPP for Linux* Cryptography Add-on
- Intel® IPP for Linux* SPIRAL Add-on
There is no standalone installation of the Intel® IPP v7.1 for OS X*. The Intel® IPP 7.1 for OS X* is distributed as part of the Intel® Composer XE and Intel® C++ Composer XE product suites.
Intel® IPP Threaded Static Libraries are a Separate Download
Many Intel® IPP functions are threaded internally. This means that the internal implementation of the functions uses OpenMP* to automatically divide work among several threads when you use dynamic linking, or when you link with the multithreaded static versions of the libraries. To see the list of these functions, refer to the ThreadedFunctionsList.txt document available in the documentation directory of the Intel® IPP installation.
Threading at the application level is better for performance. Since the parallelism is managed at a higher level than the primitives this may also be referred to as "external" threading.
The Intel® IPP 7.1 installer contains the dynamic libraries (which are still threaded) and the single threaded static libraries. However, the multithreaded static libraries are now a separate download. After they are installed your multithreaded statically linked code will continue to work with internal threading.
Intel® IPP for Cryptography is a Separate Download
Intel® IPP for cryptography is a separate installation package that contains the binaries and header files needed to utilize the functions contained in the Intel® IPP cryptography domain. It is an add-on to the Intel® IPP library and, therefore, requires that the core Intel® IPP already be installed on your system. You must first install the standalone Intel® IPP, Intel® Cluster Studio XE, Intel® C++ Studio XE, Intel® Composer XE, Intel® Parallel Composer, Intel® Parallel Studio, or the Intel® Parallel Studio XE product before installing the respective Intel® IPP for cryptography package. Please note: the version of Intel® IPP installed by the Intel® Parallel suites may not always match the latest (default) version of Intel® IPP for cryptography.
To obtain Intel® IPP for cryptography, which is distributed separately from the main Intel® IPP, please review this knowledge base article: Intel® IPP for Linux* Cryptography Add-on.
Intel® IPP SPIRAL Domain (ippGEN) is a Separate Download
Please note: the process of deprecating the ippGEN domain begins in Intel® IPP 7.1. For more information please see http://software.intel.com/en-us/articles/intel-ipp-71-deprecated-features.
In order to decrease the size of the Intel® IPP installation package, the SPIRAL subset (ippGEN) of the signal processing domain is distributed as a separate library add-on. Go to the Intel® Software Development Products Registration to download the ippGEN component of the Intel® IPP.
SPIRAL for Intel® IPP is a separate installation package that contains the binaries and header files needed to utilize the functions contained in the ippGEN domain. It is an add-on to the Intel® IPP and, therefore, requires that the core Intel® IPP be already installed on your system. You must first install the standalone Intel® IPP, Intel® Cluster Studio XE, Intel® C++ Studio XE, Intel® Composer XE, Intel® Parallel Composer, Intel® Parallel Studio, or the Intel® Parallel Studio XE product before installing the respective SPIRAL add-on library.
The ippGEN package is an adjunct to the ippSP (Signal Processing) domain. It contains signal processing functions that have been optimized for non-ordinary size data sets, primarily in the class of FFT functions. If you have not used these "ippg" functions in the past, it is likely that you do not need to download and install this add-on library. However, there is no harm to installing this add-on with the core Intel® IPP.
Any software source code included with this product is furnished under a software license and may only be used or copied in accordance with the terms of that license. Please see the Intel® Software Development Products End User License Agreement for license definitions and restrictions on the library.
Disclaimer and Legal Information
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to http://www.intel.com/design/literature.htm.
The Intel® IPP library functions may contain code that can be used for implementations of algorithms that may require complying with patent conditions.
Please be aware that the RC5 algorithms are patented by Rivest, Ronald L.; RSA* Data Security, Inc. US patent 5,724,428.
*Other names and brands may be claimed as the property of others.
Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.
Copyright (C) 2002 - 2012, Intel Corporation. All rights reserved.