This document provides a general summary of new features and important notes about the Intel® IPP library software product.
Please see the following links for the latest information regarding the Intel® Integrated Performance Primitives (Intel® IPP):
Links to documentation, help, and code samples can be found on the main Intel® IPP product page. For technical support visit the Intel® IPP technical support forum and review the articles in the Intel® IPP knowledge base.
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.
How to Build an IPP Application provides an introduction to compiling, linking, and deploying Intel® IPP applications.
What's New in Intel® IPP 8.0
- Intel® microarchitecture code name Haswell optimizations added to many functions.
- Microsoft Windows 8* UI supported via single-threaded static libraries.
- Intel® IPP User's Guide now consolidates information for Windows* OS, Linux* OS, and OS X*.
- 189 functions employ new API interfaces (See NewFunctionsList.txt).
- Substantial distribution package reconfiguration
- Main package changes
- Intel® IPP library "_l" and "_t" suffixes removed. A new OS native convention is now implemented: Windows* static libraries now have an "mt" suffix for both single and multi-threaded libraries.
- Threaded libraries are now moved into the "threaded" subfolder.
- Single-threaded Dlls are moved into the main package.
- Px/mx optimizations are returned back into the main package.
- Intel® IPP SPIRAL (ippGen) is moved into the main package.
- Separate package distributions
- Cryptography for Intel® IPP is moved into a separate package.
- Demo applications are moved into a separate package.
- Added optimizations for Supplemental Streaming SIMD Extensions 3 (and higher) to all new Intel IPP image processing functions with border support (Fixed Filters, Box Filters, and general 2D filters).
- Fixed a number of internal and external defects.
A complete list of new functions added with the Intel IPP 8.0 release is located in the NewFunctionsList.txt file, which can be found in the ...\Documentation\en_US\ipp\ directory.
You can also find the ThreadedFunctionsList.txt file in that same location, listing those functions that are available in an internally threaded format. Threading, within the multi-threaded variants of the Intel® IPP library, is accomplished by use of the Intel® OpenMP* library. Please note: Intel® IPP 8.0 continues the process of deprecating threading inside Intel IPP functions that was started in version 7.1. The threaded static libraries will be available as a separate download, and code written with these libraries will still work as before. However, moving to external threading is recommended. For more information please see http://software.intel.com/sites/products/ipp-deprecated-features-feedback/.
Intel® IPP 8.0 Release Notes
Performance and Optimization Changes:
- Intel® microarchitecture code name Haswell optimizations to 118 ippIP functions and 15 ippSP functions.
- Supplemental Streaming SIMD Extensions 3 (and higher) optimizations to all new Intel IPP image processing functions with border support (Fixed Filters, Box Filters, and general 2D filters).
- No internal memory allocation and threading in all new Intel IPP 8.0 APIs including
- Image/Computer Vision: 2D Filters: General, Box, Prewitt, Sobel, Roberts, and Scharr.
- Image: 2D CrossCor, Conv, and SqrDist.
- Signal: AutoCorr, CrossCor, and Conv.
- Crypto: Rijndael128, Rijndael128-CMAC, and Rijndael128-GSM.
- ippsResamplePolyphase reinstated to the signal processing domain.
- New image resize:
- IppiResizeSpec holds precalculated coefficients based on input/output resolution combination.
- Multiple resizes that can be completed without recomputing them.
- Separate functions for each interpolation method.
- Significantly smaller executable size footprint with static linking.
- Improved support for tiled image processing.
- Continuing the deprecation process started in Intel IPP 7.1, Intel IPP 8.0 deprecated more obsolete APIs with new ones.
- No internal memory allocation and threading
- Samples are moved into a legacy archive:
- Advanced-usage, computer-vision, string-processing, language-interface, image-processing, DMIP, and signal-processing
- Other samples are moved to a separate package to allow for tracking of ISV interest and first step towards open source:
- audio-video-codecs, data-compression, image-codecs, speech-codecs and UIC
- New Intel IPP examples are now provided:
- New Intel IPP image resize interface
- Multi-threaded resize
- New (non-deprecated) interface for FFT and DFT
- ipp_thread (external threading)
- General usage sample with simple Intel IPP interfaces (src, dst)
- C++ wrapper over color conversion functions example
- Advanced Intel IPP interface example (new parameter interfaces and initializations, etc.)
- Thin client install is implemented in Intel IPP 8.0.
Known Intel® IPP 8.0 Issues and Limitations:
- Intel® IPP static libraries are not compatible with Microsoft Windows Driver Development Kit* 2003.
- Dynamic and multi-threaded static libraries produce incorrect result for the ippiOpticalFlowPyrLK_16u_C1R function due to a threading issue. Single-threaded static library produces correct result.
- For certain parameters values, 64f flavors of the ippiResizeSqrPixel function with linear interpolation may produce less accurate result than expected.
- For positive scale factors, 32s flavors of the ipps10Log10 function may produce incorrect result due to internal overflow.
- Flavors of Pyramid functions that operate on 16-bit data, overflow on some images and produce incorrect results.
- Some transcedental arithmetic functions produce not exact results for cases with the known answer like exp(0)==1 - the result differs by 1 ulp (0.9999999999).
- A call of ippiInitCpu() for Intel® 64 architecture with the CPU parameter that does not support Intel® 64 architecture, initializes incorrect library (PX is expected). To avoid this behavoir, check that the CPU parameter is not less than Intel® Streaming SIMD Extensions 3 (Intel® SSE 3).
- Re-initialization of the library in case of dynamic linking leads to unnecessary unload-reload of the same DLL. This may slightlly affect performance. Avoid re-initialization at the application side.
- Applying anti-aliasing option to the ippiResizeSqrPixel function with the Lanczos interpolation method leads to correct but shifted by 0.5 pixel (non-symmetrical) result.
- Documentation viewing issue with Microsoft Internet Explorer* 10 and Windows Server* 2012: If on Windows Server* 2012 you find that you cannot display help or documentation from within Internet Explorer 10, modifying a security setting for Microsoft Internet Explorer* usually corrects the problem. From Tools > Internet Options > Security, add “about:internet” to the list of trusted sites. Optionally, you can remove “about:internet” from the list of trusted sites after you are finished viewing the documentation.
The Intel® IPP 8.0 for Windows* and Linux* OS are available as:
- The installation package for both IA-32 and Intel® 64 architectures
- Online installer that downloads materials chosen during installation
and the following optional add-on packages:
Cryptography for Intel® IPP is a Separate Download
Cryptography for Intel® IPP 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 Cryptography for Intel IPP package. Please note: the version of Intel IPP installed by the Intel® Parallel suites may not always match the latest (default) version of Cryptography for Intel IPP. To obtain Cryptography for Intel IPP, which is distributed separately from the main Intel IPP, please review this knowledge base article: Intel® IPP for Linux* OS Cryptography Add-on.
Intel® IPP SPIRAL Domain (ippGEN) is reinstated into the main 8.0 package
The SPIRAL subset (ippGEN) of the signal processing domain is distributed back into the main package. SPIRAL for Intel IPP contains the binaries and header files needed to utilize the functions contained in the ippGEN domain. 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 did not register your Intel® software product during installation, please do so now at the Intel® Software Development Products Registration Center. Registration entitles you to free technical support, product updates and upgrades for the duration of the support term.
For technical information about the Intel® IPP, including FAQ's, tips and tricks, and other support information, please visit the Intel® IPP forum: http://software.intel.com/en-us/forums/intel-integrated-performance-primitives/ and browse the Intel® IPP knowledge base: http://software.intel.com/en-us/articles/intel-ipp-kb/all/.
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/.
Note: If your distributor provides technical support for this product, please contact them rather than Intel.
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 Products End User License Agreement for license definitions and restrictions on the library.
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 by visiting Intel's Web Site.
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. See http://www.intel.com/products/processor_number for details.
BlueMoon, BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Inside, Cilk, Core Inside, E-GOLD, Flexpipe, i960, Intel, the Intel logo, Intel AppUp, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside, Intel Insider, the Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel Sponsors of Tomorrow., the Intel Sponsors of Tomorrow. logo, Intel StrataFlash, Intel vPro, Intel XScale, InTru, the InTru logo, the InTru Inside logo, InTru soundmark, Itanium, Itanium Inside, MCS, MMX, Moblin, Pentium, Pentium Inside, Puma, skoool, the skoool logo, SMARTi, Sound Mark, Stay With It, The Creators Project, The Journey Inside, Thunderbolt, Ultrabook, vPro Inside, VTune, Xeon, Xeon Inside, X-GOLD, XMM, X-PMU and XPOSYS are trademarks of Intel Corporation in the U.S. and/or other countries.
* 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.
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
Copyright © 2002-2013, Intel Corporation. All rights reserved.