Intel Integrated Performance Primitives (Intel IPP ) es una extensa biblioteca de funciones específicas de dominio listas para usar que están altamente optimizadas para diversas arquitecturas Intel. Sus API libres de regalías ayudan a los desarrolladores a aprovechar las instrucciones de instrucción única y datos múltiples (SIMD). [4]
La biblioteca es compatible con Intel y procesadores compatibles y está disponible para Linux , macOS y Windows . Está disponible por separado o como parte del Intel oneAPI Base Toolkit. [4]
Las versiones de Intel IPP utilizan un esquema de control de versiones semánico, de modo que aunque la versión principal parezca un año (AAAA), técnicamente no pretende ser un año. Por lo tanto, es posible que no cambie cada año calendario. [5]
Características
La biblioteca aprovecha las características del procesador que incluyen MMX , SSE , SSE2 , SSE3 , SSSE3 , SSE4 , AVX , AVX2 , AVX-512 , AES-NI y procesadores multinúcleo . [6]
Intel IPP incluye funciones para:
Organización
Intel IPP se divide en cuatro grupos de procesamiento principales: procesamiento de señales (con datos vectoriales o de matriz lineal), procesamiento de imágenes (con matrices 2D para espacios de color típicos), compresión de datos y criptografía. [6]
La mitad de los puntos de entrada son del tipo matriz, una tercera parte son del tipo señal y el resto son del tipo imagen y criptografía. Las funciones de Intel IPP se dividen en 4 tipos de datos: los tipos de datos incluyen 8u (8 bits sin firmar), 8s (8 bits con signo), 16s, 32f (punto flotante de 32 bits), 64f, etc. Normalmente, un desarrollador de aplicaciones funciona 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. [6]
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 tiempo de ejecución 4.0 es totalmente compatible con aplicaciones codificadas para 3.0 y 2.0.
- Los archivos de la versión 5.1 tienen fecha del 9 de marzo de 2006. El tiempo de ejecución 5.1 no admite aplicaciones codificadas para 4.0 o anterior.
- Los archivos de la versión 5.2 tienen fecha del 11 de abril de 2007. El tiempo de ejecución 5.2 no admite aplicaciones codificadas para 5.1 o anteriores. Introducido el 5 de junio de 2007, agregó ejemplos de código para compresión de datos, nueva compatibilidad con códecs de video, compatibilidad con aplicaciones de 64 bits en Mac OS X, compatibilidad con Windows Vista y nuevas funciones para trazado de rayos y renderizado.
- La versión 6.1 se lanzó con el compilador Intel C++ el 28 de junio de 2009. La actualización 1 para la versión 6.1 se lanzó el 28 de julio de 2009. Los archivos de la actualización 2 tienen fecha del 19 de octubre de 2009. [7]
- Versión 7.1 [8]
- Versión 8.0 [9]
- Versión 8.1 [10]
- Versión 8.2 [11]
- Versión inicial 9.0, 25 de agosto de 2015 [12]
- Versión 9.0 Actualización 1, 1 de diciembre de 2015 [13]
- Versión 9.0 Actualización 2
- Versión 9.0 Actualización 3
- Versión 9.0 Actualización 4
- Versión 2017 Lanzamiento inicial
- Versión 2017 Actualización 1
- Versión 2017 Actualización 2
- Versión 2017 Actualización 3, 28 de febrero de 2016 [1]
- 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 [1] [2]
- Versión 2020 Actualización 1, 30 de marzo de 2020 [1] [2]
- Versión 2020 Actualización 2, 16 de julio de 2020 [1] [2]
- Versión 2020 Actualización 3
- 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 [15]
Contrapartes
Ver también
Referencias
- ^ abcdefg "Notas de la versión y nuevas funciones de la biblioteca de primitivas de rendimiento integradas Intel®". software.intel.com .
- ^ abcd "Corrección de errores de Intel® IPP 2020". software.intel.com .
- ^ "Opciones sin costo para Intel Parallel Studio XE, manténgase usted mismo, sin regalías".
- ^ ab "Primitivas de rendimiento integrado Intel®". Intel . Consultado el 3 de abril de 2024 .
- ^ "Esquema de control de versiones de componentes y kit de herramientas Intel® oneAPI". Intel . Consultado el 3 de abril de 2024 .
- ^ abc "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)".
- ^ "Notas de la versión 9.0 de la biblioteca Intel Integrated Performance Primitives (Intel IPP)".
- ^ "Biblioteca Intel Integrated Performance Primitives (Intel IPP) 9.0 Github".
- ^ abcdefg Harrison, Pamela. "Notas de la versión de las primitivas de rendimiento integradas de Intel® para Intel®..." Intel . Consultado el 3 de abril de 2024 .
- ^ Harrison, Pamela. "Notas de la versión de las primitivas de rendimiento integradas de Intel® para Intel®..." Intel . Consultado el 23 de julio de 2024 .
- ^ "Primitivas de rendimiento de NVIDIA (NPP)". Desarrollador NVIDIA . Consultado el 3 de abril de 2024 .
enlaces externos
- Página web oficial
- Página de inicio del kit de herramientas básico Intel oneAPI
- Stewart Taylor, "Primitivas de rendimiento integrado de Intel: cómo optimizar las aplicaciones de software mediante Intel IPP", Intel Press.
- Implementación de Jpeg Delphi usando la biblioteca oficial JPEG Group C o Intel Jpeg Library 1.5 (ijl.dll incluido)
- Cómo instalar OpenCV usando IPP (francés)