Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 3384

Intel® Integrated Performance Primitives Release Notes and New Features

$
0
0

This page provides the current Release Notes for Intel® Integrated Performance Primitives. The notes are categorized by year, from newest to oldest, with individual releases listed within each year.

Click a version to expand it into a summary of new features and changes in that version since the last release, and access the download buttons for the detailed release notes, which include important information, such as pre-requisites, software compatibility, installation instructions, and known issues.

You can copy a link to a specific version's section by clicking the chain icon next to its name.

To get product updates, log in to the Intel® Software Development Products Registration Center.
For questions or technical support, visit Intel® Software Developer Support.

 

2018

Initial Release

Release Notes

What's New in Intel® IPP 2018:

  • Added new functions to support the LZ4 data compression and decompression. This release also introduces the patch files for LZ4 source to provide drop-in optimization with the Intel® IPP functions.
  • Introduced the standalone cryptography packages. The cryptography functions no longer depend on the main Intel® IPP packages, and can be used without the main Intel® IPP packages.
  • Introduced the optimization code for the GraphicsMagick source. The code can provide drop-in optimization on GraphicsMagick with the Intel® IPP functions:
    • The code supports GraphicsMagick version 1.3.25, and provides optimization for the following GraphicsMagick APIs: ResizeImage, ScaleImage, GaussianBlurImage, FlipImage, and FlopImage.
    • The optimization code can improve the APIs performance by up to 4x, depending on the functionality, input parameters, and processors.
  • Made the Integration Wrappers APIs part of the Intel® IPP packages.
  • Computer Vision:
    • Added the 64-bit data length support for Canny edge detection functions (ippiCanny_32f8u_C1R_L).
  • Color Conversion:
    • Added the ippiDemosaicVNG functions that support the demosaicing algorithm with VNG interpolation.
  • Cryptography:
    • Added the Elliptic Curves key generation and Elliptic Curves based Diffie-Hellman shared secret functionality.
    • Added the Elliptic Curves sign generation and verification functionalities for the DSA, NR, and SM2 algorithms..
  • Performance:
    • Extended optimization for the Intel® Advanced Vector Extensions 512 (Intel® AVX-512) and Intel® Advanced Vector Extensions 2 (Intel® AVX2) instruction sets.
    • Improved performance of LZO data compression functions on Intel® AVX2) and Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2).
  • Other Changes:
    • Removed support for Intel® Pentium® III processor. The minimal supported instruction set is Intel® Streaming SIMD Extensions 2 (Intel® SSE2).
    • Removed support for the Intel® Xeon Phi™ x100 product family coprocessor (formerly code name Knights Corner) in this release.

      The Intel® Xeon Phi™ x100 product family coprocessor (formerly code named Knights Corner) was officially announced end of life in January 2017. As part of the end of life process, the support for this family will only be available in the Intel® Parallel Studio XE 2017 version. Intel® Parallel Studio XE 2017 will be supported for a period of 3 years ending in January 2020 for the Intel® Xeon Phi™ x100 product family. Support will be provided for those customers with active support.

Known Issues:

  • The release only provides optimization on Intel® SSE4.2 and later instructions for the morphology image processing functions. Users may notice performance degradation in those functions on some old processors. If the old instructions optimization for the morphology functions is important for your applications, please submit your feedback through the product support.

Threading Notes:

  • To support the internal threading in the Intel® IPP functions, Intel® IPP provides the Threading Layer APIs in the platform-aware functions. These APIs can support both 64-bit object sizes (for large size images and signal data) and internal threading in Intel® IPP functions. Check the “Threading Layer Functions” pat in the Intel® IPP Developer Reference to get more information on these APIs., Your feedback on extending the new threading functions is welcome.
  • The legacy Intel IPP threaded libraries are available by the custom installation, and the code written with these libraries will still work as before. However, the threaded library will not expand its threading functions, and the new threading will be developed only in the new Intel® IPP threading layer APIs. User’s application is recommended to use the new Intel® IPP threading layer APIs or implement the external threading in their applications.

System Requirements

For information about the Intel® IPP system requirements, please visit Intel® Integrated Performance Primitives (Intel® IPP) 2018 System Requirements page.

2017

Update 3

Release Notes

What's New in Intel® IPP 2017 Update 3:

  • Fixed some known problems in Intel® IPP Cryptography functions
  • Added support for Microsoft Visual Studio* 2017 on Windows*.
  • Added Support for Conda* repositories installation.
Update 2

Release Notes

What's New in Intel® IPP 2017 Update 2:

  • Added the new functions in ZLIB to support the user-defined Huffman tables, which allows to increase ZLIB compression ratio at the fastest compression level.
  • Increased LZO compression performance by 20% t0 50%. Added level 999 support in LZO decompression.
  • Introduced support for Intel® Xeon Phi™ processor x200 (formerly Knights Landing) leverage boot mode in the Intel IPP examples.
  • Added an example code on building custom dispatcher for the processor-specific optimization codes.
  • Fixed a number of internal and external defects. Visit the Intel® IPP 2017 bug fixes for more information.
Update 1

Release Notes

What's New in Intel® IPP 2017 Update 1:

  • Added Support of Intel® Xeon Phi™ processor x200 (formerly Knights Landing) leverage boot mode on Windows.
  • Added the following new functions in the cryptography domain:
    • Added functions for the finite field GF(p) arithmetic, and the elliptic curves over the finite field GF(p).
    • Added ippsECCPBindGxyTblStd functions that allow to control memory size for the elliptic curves over GF(p).
  • Fixed a number of internal and external defects. Visit the Intel® IPP 2017 bug fixes for more information.
Initial Release

Release Notes

What's New in Intel® IPP 2017:

  • Added Support of Intel® Xeon Phi™ processor x200 (formerly Knights Landing) leverage boot mode on Windows.
  • Added Intel® IPP Platform-Aware APIs to support 64-bit parameters for image dimensions and vector length on 64-bit platforms and 64-bit operating systems:
    • This release provides 64-bit data length support in the memory allocation, data sorting, image resizing, and image arithmetic functions.
    • Intel® IPP Platform-Aware APIs support external tiling and threading by processing tiled images, which enables you to create effective parallel pipelines at the application level.
  • Introduced new Integration Wrappers APIs for some image processing and computer vision functions as a technical preview. The wrappers provide the easy-to-use C and C++ APIs for Intel® IPP functions, and they are available as a separate download in the form of source and pre-built binaries.
  • Performance and Optimization:
    • Extended optimization for Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction set on Intel® Many Integrated Core Architectures (Intel® MIC Architectures). Please see the Intel® IPP Functions Optimized for Intel® AVX-512 article for more information.
    • Extended optimization for Intel® AVX-512 instruction set on Intel® Xeon® processors.
    • Extended optimization for Intel® Advanced Vector Extensions 2 (Intel® AVX2) instruction set on the 6th Generation Intel® Core™ processors. Please see the Intel® IPP Functions Optimized for Intel® AVX2 article for more information.
    • Extended optimization for Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2) instruction set on Intel® Atom™ processors.
  • Data Compression:
    • Added the patch files for the zlib source to provide drop-in optimization with Intel® IPP functions. The patches now supports zlib version 1.2.5.3, 1.2.6.1, 1.2.7.3 and 1.2.8.
    • Significantly improved performance of zlib compression functions on the standard compression modes.
    • Introduced a new fastest zlib data compression mode, which can significantly improve compression performance with only a small sacrifice in compression ratio.
  • Signal Processing:
    • Added the ippsIIRIIR functions that perform zero-phase digital IIR filtering.
    • Added 64-bit data length support to the ippsSortRadixAscend and ippsSortRadixDescend functions.
    • Added unsigned integer data support to the ippsSortRadixAscend, ippsSortRadixDescend, ippsSortRadixIndexAscend and ippsSortRadixIndexDescend functions.
  • Image Processing:
    • Added the ippiScaleC functions to support image data scaling and shifting for different data types by using 64-bit floating multiplier and offset.
    • Added the ippiMulC64f functions to support image data multiplication by a 64-bit floating point value.
  • Removed the tutorial from the installation package, and its sample code and documentation are now provided online.
  • 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.
  • Installation on IA-32 architecture hosts is no longer supported, and the Intel IPP packages for Intel® 64 architecture hosts include both 64-bit and 32-bit Intel IPP libraries.

9.0

Update 4

Release Notes

What's New in Intel® IPP 9.0 Update 4:

Update 3

Release Notes

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

Release Notes

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

Release Notes

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

Release Notes

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.

Viewing all articles
Browse latest Browse all 3384

Trending Articles