Intel® Integrated Performance Primitives (Intel® IPP) 9.0 Release Notes

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 Intel® IPP Main Product Page for the latest information regarding the 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 support page.

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 9.0 Update 4

What's New in Intel® IPP 9.0 Update 3

  • Improved zlib decompression performance for small data for Intel® 64 architectures.

  • Fixed a number of internal and external defects, including the memory corruption problem on ippiSet_16u_C1R functions.

What's New in Intel® IPP 9.0 Update 2

  • Image Processing:

    • Added the contiguous volume format (C1V) support to the following 3D data processing functions: ipprWarpAffine, ipprRemap, and ipprFilter.
    • Added the ippiFilterBorderSetMode function to support high accuracy rounding mode in ippiFilterBorder.
    • Added the ippiCopyMirrorBorder function for copying the image values by adding the mirror border pixels.
    • Added mirror border support to the following filtering functions: ippiFilterBilateral, ippiFilterBoxBorder, ippiFilterBorder, ippiFilterSobel, and ippiFilterScharr.
    • Kernel coefficients in the ippiFilterBorder image filtering functions are used in direct order, which is different from the ippiFilter functions in the previous releases.
  • Computer Vision:

    • Added 32-bit floating point input data support to the ippiSegmentWatershed function.
    • Added mirror border support to the following filtering functions: ippiFilterGaussianBorder, ippiFilterLaplacianBorder, ippiMinEigenVal, ippiHarrisCorner, ippiPyramidLayerDown, and ippiPyramidLayerUp.
  • Signal Processing:

    • Added the ippsThreshold_LTAbsVal function, which uses the vector absolute value.
    • Added the ippsIIRIIR64f functions to perform zero-phase digital IIR filtering.
  • The multi-threaded libraries only depend on the Intel® OpenMP* libraries; their dependencies on the other Intel® Compiler runtime libraries were removed.

  • Fixed a number of internal and external defects.

What's New in Intel® IPP 9.0 Update 1

  • Enabled stack protection to enhance security of the Intel® IPP functions at Linux*. To link with Intel® IPP libraries, glibc version 2.4 or higher is now required.

  • Added the following new functions in the Signal Processing, Color Conversion and Cryptography domains:

    • The in-place functions on normalizing the elements of a vector: ippsNormalize.

    • The functions on computing the minimum or maximum absolute value of a vector: ippsMinAbs and ippsMaxAbs.

    • The functions on BGR to YCbCr420 color format conversion: ippiBGRToYCbCr420.

    • The functions on pseudorandom number generation optimized by the Intel RDRAND instruction.

  • Optimized the following functions on Intel® Advanced Vector Extensions 2 (Intel® AVX2) both for Intel® 64 and IA-32 Architectures:

    • Signal Processing: ippsSumLn, ippsNormalize, ippsMinAbs, and ippsMaxAbs.

    • Image Processing: ippiConvert_32s16s, ippiHOG_16s32f_C1R, and ippiSwapChannels_32s_C3C4R.

    • Color Conversion: ippiColorToGray and YCbCr to RGB/BGR conversion functions.

  • Improved the LZO decompression function ippsDecodeLZO performance for Intel® Quark™ processors.

  • Fixed the position-independent code (PIC) problem in the Linux* dynamic libraries. The share libraries now provide the full PIC symbols.

What's New in Intel® IPP 9.0

  • Extended optimization for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction set in the Computer Vision and Image Processing functions.

  • Extended optimization for Intel® Atom™ processors in the Computer Vision and Image Processing functions.

  • Added optimization for Intel® Quark™ processors to the Cryptography and Data Compression functions.

  • Introduced the new Cryptography functions for SM2/SM3/SM4 algorithms.

  • Added a custom dynamic library building tool, which enables users to build the dynamic library containing the selected Intel® IPP functions.

  • Added the new APIs to support external threading.

  • Improved the CPU dispatcher by using target processor features instead of processor types. The static linkage does not require to explicitly call the processor initialization function now.

  • Provided the new native libraries for 64-bit Android* applications, and replaced the old ones from the Linux* binary.

  • Removed internal memory allocation in the single-threaded libraries.

  • The single-threaded libraries removed the dependency on the Intel® Compiler runtime libraries. The multi-threaded libraries only depends on the Intel® OpenMP* libraries.

  • Image Processing domain changes:

    • New implementation of perspective warping functions.

    • New image filtering functions with border support: ippiFilterMedianBorder, ippiFilterMaxBorder, ippiFilterMinBorder, ippiFilterLaplaceBorder, ippiFilterHipassBorder, ippiFilterSharpenBorder.

    • New implementation of image rotation functionality with the ippiGetRotateTransform and ippiWarpAffine APIs.

    • 3D data processing functions are now available in the image processing domain.

  • Some Intel IPP domains and functions are now legacy:

    • The following Intel® IPP domains are legacy, and they are removed from the main packages: Audio Coding (ippAC), Video Coding (ippVC), Speech Coding (ippSC), Image Compression (ippJP), Data Integrity (ippDI), Generated Transforms (ippGEN), Small Matrices (ippMX), and Realistic Rendering (ippRR). That means these domains won't be optimized for new architectures (the latest optimizations are targeted for Intel® Advanced Vector Extensions 2) and any newly detected performance and stability issues won't be fixed. Find the alternative suggestion for the deprecated functions.

    • Some Intel IPP functions, including the functions for internal memory allocation, are deprecated in the main package. See the alternatives for the deprecated functions.

  • Fixed a number of internal and external defects.

Supported Configurations

  • Minimum RAM: 1 GB

  • Recommended RAM: 4 GB

  • Depending on the software distribution that you received Intel IPP with, the following processor types may be supported:

    • Intel® Xeon Phi™ processors

    • Intel® Atom™ processors

    • Intel® Core™ processors (4th generation or higher recommended)

    • Intel® Quark™ processors

  • HW system requirements: processor capable of executing Intel® Streaming SIMD Extensions 2 (Intel® SSE2) or newer instruction sets

  • Intel® C++ Compiler versions supported: 15.0 and above

Microsoft* Windows* OS:

  • Windows 7*, Windows 8*, Windows 8.1*, Windows 10*,Windows Embedded 7*, Windows Embedded 8*, Windows Server*

  • Microsoft* Visual Studio* 2010, 2012, 2013, 2015

  • 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* 6 and 7

  • Fedora* 20, and 21

  • SUSE* Linux* Enterprise Server (SLES) 11 and 12

  • Ubuntu* 12.04, 13.04, and 14.04 LTS

  • Debian* 7.0

  • Wind River* Linux* 6, and 7

  • Yocto Project* 1.5, 1.6, and 1.7

  • Tizen* 2.0

  • Glibc version: 2.4 or higher

  • Required free disk space: 1.4 GB  (for a 32 -or- 64 bit install.  For both 2.8 GB are required)

OS X*:

  • 10.10, 10.11

  • Required free disk space: 1.3 GB  (for a 32- or 64-bit install.  For both 2.6 GB are required)

  • XCode 6.x, XCode 7.x

Android* OS:
  • Android* 4.4 and 5.0

Threading Notes

Though Intel® IPP threaded libraries are not installed by default, these threaded libraries are available by the custom installation, so the code written with these libraries will still work as before. However, the multi-threaded libraries are deprecated and moving to external threading is recommended. Your feedback on this is welcome.

Known Intel® IPP 9.0 Update 3 Issues and Limitations

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

  • Context-sensitive (F1) Help issue with Microsoft Edge*: If Microsoft Edge* is set as the default browser for Microsoft* Visual Studio*, context-sensitive (also known as F1) calls to a specific function/feature will open the title page of the corresponding document instead of the topic related to the function/feature description. Allow correct behavior by changing Microsoft* Visual Studio* settings to use a different default browser.

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 an Intel® development product that includes Intel IPP and then request access to the Cryptography library. 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?

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/ and browse the Intel® IPP support page: https://software.intel.com/en-us/intel-ipp-support/.

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-2015, Intel Corporation. All rights reserved.

Legal Information            Top

For more complete information about compiler optimizations, see our Optimization Notice.