Intel Integrated Performance Primitives (Intel IPP ) es una extensa biblioteca de funciones listas para usar y específicas para cada dominio, altamente optimizadas para diversas arquitecturas Intel. Sus API libres de regalías ayudan a los desarrolladores a aprovechar las instrucciones SIMD ( Single Instruction, Multiple Data ). [ 3 ]
La biblioteca es compatible con procesadores Intel y compatibles, y está disponible para Linux y Windows . Está disponible por separado o como parte del kit de herramientas base Intel oneAPI . [ 3 ]
Las versiones de Intel IPP utilizan un esquema de versionado semántico , por lo que, aunque la versión principal parezca un año (AAAA), técnicamente no se supone que sea un año. Por lo tanto, es posible que no cambie cada año calendario. [ 4 ]
Características
La biblioteca aprovecha las características del procesador, incluyendo MMX , SSE , SSE2 , SSE3 , SSSE3 , SSE4 , AVX , AVX2 , AVX-512 , AES-NI , Intel Advanced Matrix Extensions (Intel AMX) y procesadores multinúcleo . [ 5 ] Intel IPP incluye funciones para:
- Decodificación/codificación de vídeo
- Decodificación/codificación de audio
- JPEG / JPEG2000 / JPEG XR
- visión por computadora
- Compresión de datos
- Conversión de color de imagen
- Procesamiento de imágenes
- Trazado de rayos y renderizado
- Procesamiento de señales
- Codificación del habla
- Reconocimiento de voz
- Procesamiento de cadenas
- Matemáticas vectoriales y matriciales
Con el lanzamiento de la biblioteca Intel Cryptography Primitives en octubre de 2024, la API del dominio de criptografía se ha separado y trasladado a la nueva biblioteca.
Organización
Intel IPP se divide en tres grupos de procesamiento principales: procesamiento de señales (con datos de matriz lineal o vectorial), procesamiento de imágenes (con matrices 2D para espacios de color típicos) y compresión de datos. [ 5 ]
La mitad de los puntos de entrada son de tipo matriz, un tercio son de tipo señal y el resto son de tipo imagen. Las funciones Intel IPP se dividen en 4 tipos de datos: los tipos de datos incluyen 8u(8 bits sin signo), 8s(8 bits con signo), 16s, 32f(punto flotante de 32 bits), 64f, etc. Normalmente, un desarrollador de aplicaciones trabaja con un solo tipo de datos dominante para la mayoría de las funciones de procesamiento, convirtiendo entre formatos de entrada, procesamiento y salida en los puntos finales. [ 5 ]
Historia
- Los archivos de la versión 2.0 tienen fecha del 22 de abril de 2002.
- Versión 3.0
- Los archivos de la versión 4.0 tienen fecha del 11 de noviembre de 2003. El entorno de ejecución 4.0 es totalmente compatible con las aplicaciones codificadas para las versiones 3.0 y 2.0.
- Los archivos de la versión 5.1 tienen fecha del 9 de marzo de 2006. El entorno de ejecución 5.1 no es compatible con aplicaciones codificadas para la versión 4.0 o anteriores.
- Los archivos de la versión 5.2 tienen fecha del 11 de abril de 2007. El entorno de ejecución 5.2 no es compatible con aplicaciones programadas para la versión 5.1 o anteriores. Introducida el 5 de junio de 2007, se añadieron ejemplos de código para la compresión de datos, compatibilidad con nuevos códecs de vídeo, compatibilidad con aplicaciones de 64 bits en Mac OS X , compatibilidad con Windows Vista y nuevas funciones para el trazado de rayos y la renderización.
- La versión 6.1 se publicó con el compilador Intel C++ el 28 de junio de 2009. La actualización 1 para la versión 6.1 se publicó el 28 de julio de 2009. Los archivos de la actualización 2 tienen fecha del 19 de octubre de 2009. [ 6 ]
- Versión 7.1 [ 7 ]
- Versión 8.0 [ 8 ]
- Versión 8.1 [ 9 ]
- Versión 8.2 [ 10 ]
- Versión 9.0 Lanzamiento inicial, 25 de agosto de 2015 [ 11 ]
- Versión 9.0 Actualización 1, 17 de noviembre de 2015 [ 11 ]
- Versión 9.0 Actualización 2, 18 de enero de 2016 [ 11 ]
- Versión 9.0 Actualización 3, 1 de mayo de 2016 [ 11 ]
- Versión 9.0 Actualización 4, 21 de septiembre de 2016 [ 11 ]
- Versión 2017 Lanzamiento inicial, 6 de septiembre de 2016 [ 12 ]
- Versión 2017 Actualización 1, 1 de noviembre de 2016 [ 12 ]
- Versión 2017 Actualización 2, 23 de febrero de 2017 [ 12 ]
- Versión 2017 Actualización 3, 28 de abril de 2017 [ 12 ]
- Versión 2018 (Lanzamiento inicial)
- Versión 2018 Actualización 1
- Versión 2018 Actualización 2
- Versión 2018 Actualización 2.1
- Versión 2018 Actualización 3
- Versión 2018 Actualización 3.1
- Versión 2018 Actualización 4, 20 de septiembre de 2018 [ 1 ]
- Versión 2019 (Lanzamiento inicial)
- Versión 2019 Actualización 1
- Versión 2019 Actualización 2
- Versión 2019 Actualización 3, 14 de febrero de 2019 [ 1 ]
- Versión 2019 Actualización 4
- Versión 2019 Actualización 5
- Versión 2020 Lanzamiento inicial, 12 de diciembre de 2019 [ 13 ]
- Versión 2020 Actualización 1, 30 de marzo de 2020 [ 13 ]
- Versión 2020 Actualización 2, 16 de julio de 2020 [ 13 ]
- Versión 2020 Actualización 3, 21 de octubre de 2020 [ 13 ]
- Versión 2021 (Lanzamiento inicial)
- Versión 2021.1
- Versión 2021.2
- Versión 2021.3
- Versión 2021.4
- Versión 2021.5
- Versión 2021.6
- Versión 2021.7, diciembre de 2022 [ 14 ]
- Versión 2021.8, abril de 2023 [ 14 ]
- Versión 2021.9.0, julio de 2023 [ 14 ]
- Versión 2021.9.1, octubre de 2023 [ 14 ]
- Versión 2021.10.0, noviembre de 2023 [ 14 ]
- Versión 2021.10.1, diciembre de 2023 [ 14 ]
- Versión 2021.11.0, marzo de 2024 [ 14 ]
- Versión 2021.12.0, junio de 2024 [ 14 ] [ 15 ]
- Versión 2022.0.0, octubre de 2024 [ 14 ] [ 15 ]
- Versión 2022.1.0, marzo de 2025 [ 14 ] [ 15 ]
- Versión 2022.2.0, junio de 2025 [ 1 ] [ 15 ]
Contrapartes
- Sun : mediaLib para Solaris
- Apple : vDSP, vImage, Accelerate , etc. para macOS
- AMD : Framewave (anteriormente conocida como AMD Performance Library o APL)
- Grupo Khronos : OpenMAX DL
- Primitivas de rendimiento de NVIDIA [ 16 ]
Véase también
- Kit de herramientas base Intel oneAPI
- Kit de herramientas Intel oneAPI HPC
- Biblioteca de análisis de datos Intel oneAPI (oneDAL)
- Biblioteca de núcleos matemáticos Intel oneAPI (oneMKL)
- Bloques de construcción de subprocesos Intel oneAPI (oneTBB)
- Asesor de Intel
- Perfilador Intel VTune
- Zona de desarrolladores de Intel (Intel DZ; soporte y debate)
Referencias
- ^ a b c d "Notas de la versión de Intel® Integrated Performance Primitives (Intel® IPP)" . Intel . Consultado el 1 de julio de 2025 .
- ^ "Opciones sin costo para Intel Parallel Studio XE, soporte técnico propio, libre de regalías" .
- ^ a b "Intel® Integrated Performance Primitives" . Intel . Consultado el 3 de abril de 2024 .
- ^ "Intel® oneAPI Toolkit and Component Versioning Schema" . Intel . Consultado el 3 de abril de 2024 .
- ^ a b c "Biblioteca de primitivas de rendimiento integrado de Intel (Intel IPP)" .
- ^ "Notas de la versión 6.1 de la biblioteca Intel Integrated Performance Primitives (Intel IPP)" .
- ^ "Notas de la versión 7.1 de la biblioteca Intel Integrated Performance Primitives (Intel IPP)" .
- ^ "Notas de la versión 8.0 de la biblioteca Intel Integrated Performance Primitives (Intel IPP)" .
- ^ "Notas de la versión 8.1 de la biblioteca Intel Integrated Performance Primitives (Intel IPP)" .
- ^ "Notas de la versión 8.2 de la biblioteca Intel Integrated Performance Primitives (Intel IPP)" .
- ^ a b c d e Hu, Ying; Yu, Chao (25-08-2015). "Correcciones de errores de Intel® IPP 9.0" . Intel . Archivado del original el 08-11-2020.
- ^ a b c d Yu, Chao (28-04-2017). "Correcciones de errores de Intel® IPP 2017" . Intel . Archivado del original el 21-10-2020.
- ^ a b c d Singh, Abhinav (21-10-2020). "Correcciones de errores de Intel® IPP 2020" . Intel . Archivado del original el 02-11-2020.
- ^ a b c d e f g h i j "Notas de la versión de Intel® Integrated Performance Primitives (Intel® IPP)" . Intel . 23 de marzo de 2025. Archivado del original el 26 de junio de 2025.
- ^ a b c d "Mapeo de versiones de Intel® Integrated Performance Primitives (Intel® IPP) e Intel® oneAPI Base Toolkit" . Intel . 26 de junio de 2025. Consultado el 3 de julio de 2025 .
- ^ "NVIDIA Performance Primitives (NPP)" . NVIDIA Developer . Consultado el 3 de abril de 2024 .
Enlaces externos
- Sitio web oficial

- Página principal del kit de herramientas base Intel oneAPI
- Stewart Taylor, "Intel Integrated Performance Primitives: Cómo optimizar aplicaciones de software utilizando Intel IPP" , Intel Press.
- Implementación de JPEG en Delphi utilizando la biblioteca oficial JPEG Group C o la biblioteca Intel JPEG 1.5 (incluye ijl.dll).
- Cómo instalar OpenCV usando IPP (en francés) . Archivado el 8 de agosto de 2020 en Wayback Machine.
- Notas de la versión
- Notas de la versión anterior
- Bibliotecas de C (lenguaje de programación)
- Bibliotecas de C++
- Software de Intel
- Marcos multimedia
- Software multimedia
