Wikipedia / Integrated Performance Primitives
Wikipedia / Integrated Performance Primitives
Intel Integrated Performance Primitives (Intel IPP) is an extensive library of ready-to-use, domain-specific functions that are highly optimized for diverse Intel architectures. Its royalty-free APIs help developers take advantage of single instruction, multiple data (SIMD) instructions.
The library supports Intel and compatible processors and is available for Linux and Windows. It is available separately or as a part of Intel oneAPI Base Toolkit.
Intel IPP releases use a semantic versioning scheme, so that even though the major version looks like a year (YYYY), it is not technically meant to be a year. So it might not change every calendar year.
Features
The library takes advantage of processor features including MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AVX, AVX2, AVX-512, AES-NI, Intel Advanced Matrix Extensions (Intel AMX) and multi-core processors. Intel IPP includes functions for:
Ray tracing and rendering
String processing
Vector and matrix mathematics
With launch of the Intel Cryptography Primitives Library in October 2024, the cryptography domain API has been split off and moved into the new library.
Organization
Intel IPP is divided into three major processing groups: signal processing (with linear array or vector data), image processing (with 2D arrays for typical color spaces) and data compression.
Half the entry points are of the matrix type, a third are of the signal type, and the remainder are of the image types. Intel IPP functions are divided into 4 data types: data types include 8u (8-bit unsigned), 8s (8-bit signed), 16s, 32f (32-bit floating-point), 64f, etc. Typically, an application developer works with only one dominant data type for most processing functions, converting between input to processing to output formats at the end points.
History
Version 2.0 files are dated April 22, 2002.
Version 3.0
Version 4.0 files are dated November 11, 2003. 4.0 runtime fully supports applications coded for 3.0 and 2.0.
Version 5.1 files are dated March 9, 2006. 5.1 runtime does not support applications coded for 4.0 or before.
Version 5.2 files are dated April 11, 2007. 5.2 runtime does not support applications coded for 5.1 or before. Introduced June 5, 2007, adding code samples for data compression, new video codec support, support for 64-bit applications on , support for Windows Vista, and new functions for ray-tracing and rendering.
Version 6.1 was released with the Intel C++ Compiler on June 28, 2009. Update1 for version 6.1 was released on July 28, 2009. Update2 files are dated October 19, 2009.
Version 7.1
Version 8.0
Version 8.1
Version 8.2
Version 9.0 Initial Release, August 25, 2015
Version 9.0 Update 1, November 17, 2015
Version 9.0 Update 2, Januar 18, 2016
Version 9.0 Update 3, May 1, 2016
Version 9.0 Update 4, September 21, 2016
Version 2017 Initial Release, September 6, 2016
Version 2017 Update 1, November 1, 2016
Version 2017 Update 2, February 23, 2017
Version 2017 Update 3, April 28, 2017
Version 2018 Initial Release
Version 2018 Update 1
Version 2018 Update 2
Version 2018 Update 2.1
Version 2018 Update 3
Version 2018 Update 3.1
Version 2018 Update 4, September 20, 2018
Version 2019 Initial Release
Version 2019 Update 1
Version 2019 Update 2
Version 2019 Update 3, February 14, 2019
Version 2019 Update 4
Version 2019 Update 5
Version 2020 Initial Release, December 12, 2019
Version 2020 Update 1, March 30, 2020
Version 2020 Update 2, July 16, 2020
Version 2020 Update 3, October 21, 2020
Version 2021 Initial Release
Version 2021.1
Version 2021.2
Version 2021.3
Version 2021.4
Version 2021.5
Version 2021.6
Version 2021.7, December 2022
Version 2021.8, April 2023
Version 2021.9.0, July 2023
Version 2021.9.1, October 2023
Version 2021.10.0, November 2023
Version 2021.10.1, December 2023
Version 2021.11.0, March 2024
Version 2021.12.0, June 2024
Version 2022.0.0, October 2024
Version 2022.1.0, March 2025
Version 2022.2.0, June 2025
Counterparts
Apple: vDSP, vImage, Accelerate etc. for macOS
AMD: Framewave (formerly the AMD Performance Library or APL)
NVIDIA Performance Primitives
See also
Intel oneAPI Base Toolkit
Intel oneAPI HPC Toolkit
Intel oneAPI Data Analytics Library (oneDAL)
Intel oneAPI Math Kernel Library (oneMKL)
Intel Developer Zone (Intel DZ; support and discussion)
References
External links
Stewart Taylor, "Intel Integrated Performance Primitives - How to Optimize Software Applications Using Intel IPP", Intel Press.
Jpeg Delphi implementation using official JPEG Group C library or Intel Jpeg Library 1.5 (ijl.dll included)