In this article, we will explore the fascinating world of Integrated Performance Primitives. From its origins to its influence today, this topic arouses great interest and curiosity in individuals of all ages. Through a detailed and exhaustive analysis, we will address the most relevant and significant aspects related to Integrated Performance Primitives, providing the reader with a broad and enriching perspective. Likewise, we will examine its impact in various areas, from culture to science, including its relevance in contemporary society. Ultimately, this article seeks to shed light on Integrated Performance Primitives and its importance in today's world.
Developer(s) | Intel |
---|---|
Stable release | |
Written in | C/C++ |
Operating system | Linux, macOS, Microsoft Windows |
Type | Library or framework |
License | Proprietary, freeware |
Website | software![]() |
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, macOS and Windows.. It is available separately or as a part of Intel oneAPI Base Toolkit.
Intel IPP releases use a Semanic Versioning Schema, 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.
The library takes advantage of processor features including MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AVX, AVX2, AVX-512, AES-NI and multi-core processors. Intel IPP includes functions for:
Intel IPP is divided into four major processing groups: Signal processing (with linear array or vector data), Image processing (with 2D arrays for typical color spaces), Data Compression and Cryptography.
Half the entry points are of the matrix type, a third are of the signal type and the remainder are of the image and cryptography 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.