(Intel® IPP) 2019 Update 4 Release Notes 23Rd May 2019
Total Page:16
File Type:pdf, Size:1020Kb
Intel® Integrated Performance Primitives (Intel® IPP) 2019 Update 4 Release Notes 23rd May 2019 Contents Contents ........................................................................................................................................................ 1 Overview ....................................................................................................................................................... 2 What's New in Intel® IPP 2019 Update 4 ...................................................................................................... 2 What's New in Intel® IPP 2019 Update 3 ...................................................................................................... 2 What's New in Intel® IPP 2019 Update 2 ...................................................................................................... 3 What's New in Intel® IPP 2019 Update 1 ...................................................................................................... 3 What's New in Intel® IPP 2019 ...................................................................................................................... 4 Threading Notes ............................................................................................................................................ 5 Known Intel® IPP 2019 Update 4 Issues and Limitations .............................................................................. 5 System Requirements ................................................................................................................................... 6 Intel® IPP 2019 Documentation .................................................................................................................... 6 Product Contents .......................................................................................................................................... 6 Intel® IPP Cryptography ................................................................................................................................ 7 Technical Support ......................................................................................................................................... 7 License Definitions ........................................................................................................................................ 7 Third Party Licenses ...................................................................................................................................... 7 Legal Information .......................................................................................................................................... 8 Intel® Integrated Performance Primitives Release Notes Overview 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 resources available online for the latest information regarding the Intel® Integrated Performance Primitives (Intel® IPP): • Intel® IPP Main Product Page • Intel® IPP Installation Guide • Intel® IPP 2019 System Requirements • Intel® IPP Documentation Please register your product using your preferred email address. This helps Intel recognize you as a valued customer in the support forum and ensures that you will be notified of product updates. You can read the Intel Privacy Policy if you have any questions regarding the use of your email address for software product registration. What's New in Intel® IPP 2019 Update 4 • Added Intel® IPP Crypto open source build support for 3rd party compilers MSVS and GCC. • Added Intel® IPP package availability in NuGet package manager on Windows, Linux and macOS* systems. • Enabled acceleration for Intel® IPP Data compression LZO X1X mode for SSE4.2 and Intel® AVX-512 instructions. What's New in Intel® IPP 2019 Update 3 • Extended Intel® AVX2 and Intel® AVX-512 optimization for ippsFIRMR32f_32fc functions. • Added a threading layer example on building custom pipeline code with the sobel filter functions. • Added new implementation in the IIR Filter functions to improve precision. The implementation provides similar performance for long length vectors, but reduces the performance for short length vectors. • Fixed several bugs in the bzip2 optimization patch files, including Makefile errors, and inconsistency with original code. Intel® Integrated Performance Primitives Release Notes • Fixed the following dispatching issues in Intel® IPP libraries: • The IPP functions dispatched Intel® AVX2 optimization code on the Intel® AVX-512 processors with macOS* systems. • The cryptography libraries dispatched incorrect code on the systems that do not support Intel® AVX instructions. • The cryptography libraries dispatched incorrect optimization code when the libraries were linked dynamically. What's New in Intel® IPP 2019 Update 2 • Intel® IPP Update 2 includes functional and security updates. Users should update to the latest version. • The previous version of Intel® IPP Custom Library Tool is removed in the releases. Users can use the new version of Intel® IPP Custom Library Tool based on Python*. What's New in Intel® IPP 2019 Update 1 • Added new functions to support SM2 public key cryptographic algorithm. • Added support for Universal Windows driver and Universal Windows Platform (UWP) in the sequential static libraries. • Added optimization for Intel® AVX-512 instruction set in the ippsFIRMR32f_32fc functions. • Added support for Android* OS and Threading Layer libraries in the Intel® IPP Custom Library Tool based on Python*. • Removed support for IA-32 libraries on macOS* in this release. What's New in Intel® IPP 2019 • Added new functions to support ZFP floating-point data compression and decompression. This release also introduces the optimization patch files for ZFP 0.5.2 source to provide drop-in optimization with the Intel® IPP functions. • ZFP is a lossy floating point data compression with controlled compression accuracy and compression rate. Intel® IPP ZFP functions are highly optimized for Intel® AVX2 and Intel® AVX-512 instruction sets. Intel® Integrated Performance Primitives Release Notes • Intel® IPP ZFP provides easy-to-use interfaces which allow for use of its functions directly in application source code. Intel® IPP ZFP also provides drop- in optimization patch files for open-source ZFP 0.5.2. Users’ applications can use open-source ZFP library interfaces with Intel® IPP optimized functions. • Added Intel® Threading Building Blocks threading technology support in the Threading Layer APIs. Check the “Threading Notes” bellow to get more information. • Added new version of Intel® IPP Custom Library Tool based on Python*. This version provides better compatibility on different operation systems. The previous version of Intel® IPP Custom Library Tool is deprecated and will be removed in the future Intel® IPP releases. • Added new APIs to compute CRC24 and CRC16 checksum with 1U input data. The APIs support CRC24A, CRC24B, CRC24С and CRC16 polynomial functions, and are included in the Intel® IPP embedded domain. • Color Conversion: • Added color conversion functions to convert RGB image to CIE Lab color model, or CIE Lab color model to RGB (ippiRGBToLab/ ippiLabToRGB). • Data Compression: • Added the optimization patch files for the bzip2 source to provide drop-in optimization with Intel® IPP functions. The patches now supports bzip2 version 1.0.6. • Performance: • Extended optimization for the Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instruction sets. • Other Changes: • Removed support for Intel® Xeon Phi™ 72** product family coprocessor (formerly code name Knights Landing) on Windows* platform in this release. • Removed support for Intel® Quark™ microprocessors in this release. • The IA-32 libraries on macOS* are deprecated and will be removed in a future release. Intel® Integrated Performance Primitives Release Notes Threading Notes Intel® IPP provides Threading Layer APIs on top of sequential Intel® IPP libraries. The APIs include two variants 1) functions with _T suffix in the names, providing threading implementation based on classic IPP APIs; 2) functions with _LT suffix, providing threading implementation based on Intel® IPP Platform-Aware functions. The Threading Layer APIs support both OpenMP* and Intel® Threading Building Blocks threading technology. Source code of Intel® IPP Threading Layer is also available in IPP package as example and basis to organize threading for pipeline inside a customer application. The legacy Intel® IPP threaded libraries are still available by custom installation, and the code written with these libraries will 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 applications are recommended to use the new Intel® IPP Threading Layer APIs or implement the threading based on IPP Threading Layer source code examples in their applications. Check the “Threading Layer Functions” section in the Intel® IPP Developer Reference, to get more information on these APIs. Known Intel® IPP 2019 Update 4 Issues and Limitations • The Erode and Dilate APIs added additional optimization branches. Some optimization branches have performance degradation on the Intel® AVX optimization code. • The threading layer examples on macOS* fail to build because of the incorrect Makefile. To work around the issue, remove intel64/ suffix