Intel® Integrated Performance Primitives (Intel® IPP) Library 8.0 Release Notes

This document provides a general summary of new features and important notes about the Intel® IPP library software product.

Links to documentation and help can be found on the main Intel® IPP product page. For technical support visit the Intel® IPP technical support forum. Please note that only the two most recent major releases are fully supported

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.

What's New in Intel® IPP 8.0 Update 1

  • Android* target support added. For more information on developing Android* applications with Intel® IPP see Using Intel® Integrated Performance Primitives with Android*.
  • Computer Vision: added Hough Line Probabilistic functionality.
  • Image: added Antialiasing Resize functions.
  • Signal:
    • Added the ippsDFTGetSize and ippsDFTInit functions to replace deprecated ippsDFTInitAlloc.
    • Added Long Term Evolution (LTE) Multiple Input Multiple Output (MIMO) functions.
  • Fixed a number of internal and external defects.

What's New in Intel® IPP 8.0

  • Introduced a standalone package for OS X* (previously Intel® IPP for OS X* was distributed as part of the Intel® C++ Composer XE suit).
  • Introduced technology previews of new Asynchronous C/C++ and OpenCL* GPU functions.
  • Thin client installer is now available.
  • Performance and optimization changes:
    • Added Intel® microarchitecture code name Haswell optimizations to 118 ippIP functions and 15 ippSP functions.
    • 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).
  • Microsoft Windows 8* UI supported via single-threaded static libraries.
  • Domain-specific changes:
    • 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.
      • Separate functions for each interpolation method.
      • Significantly smaller executable size footprint with static linking.
      • Improved support for tiled image processing.
  • 189 functions employ new API interfaces (See Documentation/en_US/ipp/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. 
  • New Intel IPP examples:
    • ipp_resize: shows how to use Intel IPP resize functions with external threading. Note: requires Intel® Threading Building Blocks (Intel® TBB) to compile.
    • ipp_fft: illustrates usage of FFT and DCT on images.
    • ipp_thread: image processing with external threading via native threads or Intel TBB. Note: requires Intel TBB to compile.
  • External samples package is now legacy.  For more info please see http://software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-library
      • Advanced-usage, computer-vision, string-processing, language-interface, image-processing, DMIP, and signal-processing
      • audio-video-codecs, data-compression, image-codecs, speech-codecs and UIC
  • Fixed a number of internal and external defects.

Supported configurations:

  • Minimum RAM: 1 GB
  • Recommended RAM: 4 GB
  • Recommended HW: 3rd Generation Intel® Core™ processors or above
  • HW system requirements: processor capable of executing Intel® Streaming SIMD Extensions 2 (Intel® SSE2) or newer instruction sets
  • Intel® C++ Compiler versions supported: 12.0 and above

Microsoft* Windows* OS:

  • Windows XP*, Windows 7*, Windows 8*, Windows Server*. Note: support for Windows XP is deprecated and will be dropped in the next major release.
  • Microsoft* Visual Studio* 2008, 2010, 2012.
  • Required free disk space: 1 GB  (for a 32- or 64-bit install.  For both 2.1 GB are required)

Linux* OS distributions:

  • Red Hat* Enterprise Linux* 5 and 6
  • CentOS* versions equivalent to Red Hat* Enterprise Linux* versions listed above
  • Fedora* 18 and 19
  • SUSE* Linux* Enterprise Server (SLES) 10 and 11
  • Ubuntu* 12.04 LTS and 13.04
  • Debian* 6.0 and 7.0
  • Required free disk space: 1.4 GB  (for a 32 -or- 64 bit install.  For both 2.8 GB are required)

OS X*:

  • 10.8.2 (Xcode* 4.5.1 or newer with SDK 10.8 latest release) /10.9 (Xcode* 4.7 with SDK 10.9 latest release)
  • Required free disk space: 1.3 GB  (for a 32- or 64-bit install.  For both 2.6 GB are required)
  • OS X* compiler compatibility: Xcode* 4.7 with SDK 10.9 latest release, Xcode* 4.5.1 or newer with SDK 10.8 latest release

Support for Microsoft Visual Studio 2008* Deprecated

In a future major release of Intel® IPP, support for use with Microsoft Visual Studio 2008 will be removed. Intel recommends that customers migrate to Microsoft Visual Studio 2012* at their earliest convenience.

Threading notes:

Threading, within the deprecated multi-threaded add-on packages of the Intel® IPP library, is accomplished by use of the Intel® OpenMP* library. Intel® IPP 8.0 continues the process of deprecating threading inside Intel IPP functions that was started in version 7.1. Though not installed by default, the threaded libraries can be installed so code written with these libraries will still work as before. However, moving to external threading is recommended. For more information please see the deprecation feedback page

Deprecations:

Continuing the deprecation process started in Intel IPP 7.1, Intel IPP 8.0 deprecated more obsolete APIs:

  • The majority of functions that use internal memory allocation are marked as deprecated, analogues without internal allocation are provided (for example, a pair of GetSize and Init instead of InitAlloc and Free). All threaded libraries should also be considered as deprecated. 

Known Intel® IPP 8.0 Issues and Limitations:

  • Intel® IPP static libraries are not compatible with Microsoft Windows Driver Development Kit* 2003.
  • On Intel® 64 architecture (Windows* OS), 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.
  • 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 antialiasing 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.

Product Contents

The Intel® IPP 8.0 for Windows*, Linux* OS, and OS X* 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 or suite product containing IPP before installing the respective Cryptography for Intel® IPP package. Please note: the version of Intel IPP installed by the Intel® 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: Where do I download the Intel® IPP Cryptography libraries?  

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. 

Technical Support

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/.

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.

License Definitions

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.

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 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.

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

Copyright © 2002-2013, Intel Corporation. All rights reserved.

如需更全面地了解编译器优化,请参阅优化注意事项