Integrated Performance Primitives

Last updated
Intel Integrated Performance Primitives
Developer(s) Intel
Stable release
2022.2.0 / June 25, 2025;6 days ago (2025-06-25) [1]
Written in C/C++
Operating system Linux, Microsoft Windows
Type Library or framework
License Proprietary, freeware [2]
Website software.intel.com/intel-ipp   OOjs UI icon edit-ltr-progressive.svg

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. [3]

Contents

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. [3]

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. [4]

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. [5] Intel IPP includes functions for:

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. [5]

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. [5]

History

Counterparts

See also

References

  1. 1 2 3 4 5 6 "Intel® Integrated Performance Primitives (Intel® IPP) Release Notes". Intel. Retrieved 2025-07-01.
  2. "No Cost Options for Intel Parallel Studio XE, Support yourself, Royalty-Free".
  3. 1 2 "Intel® Integrated Performance Primitives". Intel. Retrieved 2024-04-03.
  4. "Intel® oneAPI Toolkit and Component Versioning Schema". Intel. Retrieved 2024-04-03.
  5. 1 2 3 "Intel Integrated Performance Primitives (Intel IPP) Library".
  6. "Intel Integrated Performance Primitives (Intel IPP) Library 6.1 Release Notes".
  7. "Intel Integrated Performance Primitives (Intel IPP) Library 7.1 Release Notes".
  8. "Intel Integrated Performance Primitives (Intel IPP) Library 8.0 Release Notes".
  9. "Intel Integrated Performance Primitives (Intel IPP) Library 8.1 Release Notes".
  10. "Intel Integrated Performance Primitives (Intel IPP) Library 8.2 Release Notes".
  11. "Intel Integrated Performance Primitives (Intel IPP) Library 9.0 Release Notes".
  12. "Intel Integrated Performance Primitives (Intel IPP) Library 9.0 Github".
  13. 1 2 3 4 Singh, Abhinav (2020-10-21). "Intel® IPP 2020 Bug Fixes". Intel. Archived from the original on 2020-11-02.
  14. 1 2 3 4 5 6 7 8 9 10 "Intel® Integrated Performance Primitives (Intel® IPP) Release Notes". Intel. 2025-03-23. Archived from the original on 2025-06-26.
  15. "NVIDIA Performance Primitives (NPP)". NVIDIA Developer. Retrieved 2024-04-03.