Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
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
Single instruction, multiple data (SIMD) is a type of parallel computer, parallel processing in Flynn's taxonomy. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneousl ...
(SIMD) instructions.
The library supports Intel and compatible processors and is available for
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
and
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
. It is available separately or as a part o
Intel oneAPI Base Toolkit
Intel IPP releases use a
semantic versioning
Software versioning is the process of assigning either unique ''version names'' or unique ''version numbers'' to unique states of computer software. Within a given version number category (e.g., major or minor), these numbers are generally assig ...
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
SSE2 (Streaming SIMD Extensions 2) is one of the Intel SIMD (Single Instruction, Multiple Data) processor supplementary instruction sets introduced by Intel with the initial version of the Pentium 4 in 2000. SSE2 instructions allow the use of ...
,
SSE3
SSE3, Streaming SIMD Extensions 3, also known by its Intel code name Prescott New Instructions (PNI), is the third iteration of the SSE instruction set for the IA-32 (x86) architecture. Intel introduced SSE3 in early 2004 with the Prescott revis ...
,
SSSE3
Supplemental Streaming SIMD Extensions 3 (SSSE3 or SSE3S) is a SIMD instruction set created by Intel and is the fourth iteration of the SSE technology.
History
SSSE3 was first introduced with Intel processors based on the Core microarchitect ...
,
SSE4
SSE4 (Streaming SIMD Extensions 4) is a SIMD CPU instruction set used in the Intel Core microarchitecture and AMD K10 (K8L). It was announced on September 27, 2006, at the Fall 2006 Intel Developer Forum, with vague details in a white paper;< ...
,
AVX,
AVX2
Advanced Vector Extensions (AVX, also known as Gesher New Instructions and then Sandy Bridge New Instructions) are SIMD extensions to the x86 instruction set architecture for microprocessors from Intel and Advanced Micro Devices (AMD). They w ...
,
AVX-512
AVX-512 are 512-bit extensions to the 256-bit Advanced Vector Extensions SIMD instructions for x86 instruction set architecture (ISA) proposed by Intel in July 2013, and first implemented in the 2016 Intel Xeon Phi x200 (Knights Landing), and then ...
,
AES-NI
An Advanced Encryption Standard instruction set (AES instruction set) is a set of instructions that are specifically designed to perform AES encryption and decryption operations efficiently. These instructions are typically found in modern proces ...
, Intel
Advanced Matrix Extensions (Intel AMX) and
multi-core processor
A multi-core processor (MCP) is a microprocessor on a single integrated circuit (IC) with two or more separate central processing units (CPUs), called ''cores'' to emphasize their multiplicity (for example, ''dual-core'' or ''quad-core''). Ea ...
s.
Intel IPP includes functions for:
*
Video decode/encode
*
Audio decode/encode
*
JPEG
JPEG ( , short for Joint Photographic Experts Group and sometimes retroactively referred to as JPEG 1) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degr ...
/
JPEG2000
JPEG 2000 (JP2) is an image compression standard and coding system. It was developed from 1997 to 2000 by a Joint Photographic Experts Group committee chaired by Touradj Ebrahimi (later the JPEG president), with the intention of superseding their ...
/
JPEG XR
JPEG XR (JPEG extended range) is an image compression standard for continuous tone photographic images, based on the HD Photo (formerly Windows Media Photo) specifications that Microsoft originally developed and patented. It supports both los ...
*
Computer vision
Computer vision tasks include methods for image sensor, acquiring, Image processing, processing, Image analysis, analyzing, and understanding digital images, and extraction of high-dimensional data from the real world in order to produce numerical ...
*
Data compression
In information theory, data compression, source coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation. Any particular compression is either lossy or lossless. Lossless compressi ...
*
Image color conversion
*
Image processing
An image or picture is a visual representation. An image can be two-dimensional, such as a drawing, painting, or photograph, or three-dimensional, such as a carving or sculpture. Images may be displayed through other media, including a pr ...
*
Ray tracing and
rendering
*
Signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
*
Speech coding
Speech coding is an application of data compression to digital audio signals containing speech. Speech coding uses speech-specific parameter estimation using audio signal processing techniques to model the speech signal, combined with generic da ...
*
Speech recognition
Speech recognition is an interdisciplinary subfield of computer science and computational linguistics that develops methodologies and technologies that enable the recognition and translation of spoken language into text by computers. It is also ...
* 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
Intel oneAPI DPC++/C++ Compiler and Intel C++ Compiler Classic (deprecated icc and icl is in Intel OneAPI HPC toolkit) are Intel’s C, C++, SYCL, and Data Parallel C++ (DPC++) compilers for Intel processor-based systems, available for Wind ...
on June 28, 2009. Update 1 for version 6.1 was released on July 28, 2009. Update 2 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, December 1, 2015
* Version 9.0 Update 2
* Version 9.0 Update 3
* Version 9.0 Update 4
* Version 2017 Initial Release
* Version 2017 Update 1
* Version 2017 Update 2
* Version 2017 Update 3, February 28, 2016
* 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
* 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
Counterparts
*
Sun
The Sun is the star at the centre of the Solar System. It is a massive, nearly perfect sphere of hot plasma, heated to incandescence by nuclear fusion reactions in its core, radiating the energy from its surface mainly as visible light a ...
:
mediaLib for
Solaris
Solaris is the Latin word for sun.
It may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Sol ...
*
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
: vDSP, vImage
Accelerateetc. for
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
*
AMD
Advanced Micro Devices, Inc. (AMD) is an American multinational corporation and technology company headquartered in Santa Clara, California and maintains significant operations in Austin, Texas. AMD is a hardware and fabless company that de ...
: Framewave (formerly the AMD Performance Library or APL)
*
Khronos Group
The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
:
OpenMAX DL
* NVIDIA Performance Primitives
See also
* Inte
oneAPI Base Toolkit* Inte
* Intel oneAPI
Data Analytics Library (oneDAL)
* Intel oneAPI
Math Kernel Library
Intel oneAPI Math Kernel Library (Intel oneMKL), formerly known as Intel Math Kernel Library, is a library of optimized math routines for science, engineering, and financial applications. Core math functions include BLAS, LAPACK, ScaLAPACK, sp ...
(oneMKL)
*
Intel oneAPI Threading Building Blocks (oneTBB)
*
Intel Advisor
Intel Advisor (also known as "Advisor XE", "Vectorization Advisor" or "Threading Advisor") is a design assistance and analysis tool for SIMD vectorization, threading, memory use, and GPU offload optimization. The tool supports C, C++, Data Parall ...
*
Intel VTune Profiler
*
Intel Developer Zone The Intel Developer Zone is an international online program designed by Intel to encourage and support independent software vendors in developing applications for Intel hardware and software products. This support is provided for the key stages of t ...
(Intel DZ; support and discussion)
References
External links
*
Intel oneAPI Base Toolkit Home Page* Stewart Taylor
Intel Press.
*
ttp://bouchez.info/myjpeg.html Jpeg Delphi implementationusing official JPEG Group C library or Intel Jpeg Library 1.5 (ijl.dll included)
How To Install OpenCV using IPP (french)
{{Intel software
C (programming language) libraries
C++ libraries
Intel software
*
Multimedia software