stringtranslate.com

Biblioteca de núcleos matemáticos

Intel oneAPI Math Kernel Library (Intel oneMKL ), anteriormente conocida como Intel Math Kernel Library, es una biblioteca de rutinas matemáticas optimizadas para aplicaciones científicas, de ingeniería y financieras. Las funciones matemáticas principales incluyen BLAS , LAPACK , ScaLAPACK , solucionadores dispersos, transformadas rápidas de Fourier y matemáticas vectoriales. [5] [6]

La biblioteca admite CPU x86 y GPU Intel [2] y está disponible para sistemas operativos Windows y Linux . [5] [6] [7]

La biblioteca de kernel matemática Intel oneAPI no debe confundirse con las interfaces oneMKL, una biblioteca contenedora de código abierto que permite a las aplicaciones DPC++ llamar a rutinas oneMKL que pueden descargarse a múltiples arquitecturas de hardware y proveedores definidos durante el tiempo de ejecución. [8]

Historia y licencias

Intel lanzó la biblioteca de kernel matemático oneAPI en noviembre de 1994 y la llamó biblioteca Intel BLAS. [9] En 1996, la biblioteca pasó a llamarse biblioteca de kernel matemático Intel hasta abril de 2020, cuando Intel oneMKL pasó a formar parte de la iniciativa oneAPI para admitir múltiples arquitecturas de hardware, manteniendo el nombre actual de biblioteca de kernel matemático Intel oneAPI.

La biblioteca está disponible como parte de oneAPI Toolkits y en forma independiente, sin cargo según los términos de la Licencia de software simplificada de Intel [3] que permite la redistribución. [10] El soporte comercial para Intel oneMKL está disponible cuando se compra como parte de oneAPI Base Toolkit.

Tras la transición de Apple hacia las CPU x86, la última versión de Intel oneMKL disponible para macOS es la versión 2023.2.2 y está previsto que se elimine a finales de 2024.

Rendimiento y dependencia del proveedor

MKL y otros programas generados por el compilador Intel C++ y el compilador Intel DPC++ mejoran el rendimiento con una técnica llamada multiversión de funciones: se compila o escribe una función para muchas de las extensiones del conjunto de instrucciones x86 y, en tiempo de ejecución, una "función maestra" utiliza la instrucción CPUID para seleccionar una versión más apropiada para la CPU actual. Sin embargo, siempre que la función maestra detecte una CPU que no sea Intel, casi siempre elige la función más básica (y más lenta) para usar, independientemente de los conjuntos de instrucciones que la CPU diga admitir. Esto le ha valido al sistema el apodo de rutina "AMD lisiada" desde 2009. [11] A partir de 2020 , MKL de Intel sigue siendo la biblioteca numérica instalada de forma predeterminada junto con muchas aplicaciones matemáticas precompiladas en Windows (como NumPy , SymPy ). [12] [13] Aunque se basa en MKL, MATLAB implementó una solución alternativa a partir de la versión 2020a que garantiza soporte total para AVX2 por parte de MKL también para CPU que no sean Intel (AMD). [14]

Detalles

Categorías funcionales

Intel oneMKL tiene las siguientes categorías funcionales: [15]

En el pasado, oneMKL incluía funciones de red neuronal profunda , pero se eliminaron en la versión 2020 como un derivado que originó la biblioteca de red neuronal profunda Intel oneAPI de código abierto. [16]

Véase también

Referencias

  1. ^ "Notas de la versión y nuevas características de la biblioteca Intel® Math Kernel". software.intel.com .
  2. ^ Biblioteca de núcleo matemático Intel® oneAPI (oneMKL) | Software Intel®
  3. ^ ab "Licencia de software simplificada de Intel".
  4. ^ "OneMKL — documentación de la especificación oneAPI 1.1-rev-1".
  5. ^ ab "Biblioteca del kernel matemático Intel".
  6. ^ ab "Biblioteca del kernel matemático Intel (MKL)".
  7. ^ "MKL - Biblioteca Intel Math Kernel". 23 de abril de 2012.
  8. ^ "oneapi-src/oneMKL". oneAPI-SRC. 19 de marzo de 2021. Las interfaces oneMKL son una implementación de código abierto de la interfaz Data Parallel C++ (DPC++) oneMKL según la especificación oneMKL. Funciona con varios dispositivos (backends) utilizando bibliotecas específicas del dispositivo subyacentes.
  9. ^ "Biblioteca Intel Math Kernel, Manual de referencia, Información de la versión" (PDF) . c. 2004. p. ii . Consultado el 25 de julio de 2024 .
  10. ^ "Preguntas frecuentes sobre licencias de la biblioteca Intel Math Kernel".
  11. ^ Niebla Agner . "Blog de CPU de Agner: función" AMD paralizada "de Intel".
  12. ^ "Cadena de comentarios en: r/matlab - Cómo obligar a Matlab a utilizar una ruta de código rápida en las CPU AMD Ryzen/TR: hasta un 250 % de aumento del rendimiento". reddit . 31 de marzo de 2020 . Consultado el 6 de junio de 2020 .
  13. ^ "Centro de computación de alto rendimiento de Stuttgart - Base de conocimientos - Bibliotecas (Hawk)" . Consultado el 6 de junio de 2020 .
  14. ^ "Ya no está paralizado: Matlab ahora funciona en CPU AMD a toda velocidad - ExtremeTech" www.extremetech.com . Consultado el 29 de octubre de 2020 .
  15. ^ admin (14 de noviembre de 2019). "Referencia para desarrolladores de Intel® Math Kernel Library - C". software.intel.com . Consultado el 27 de noviembre de 2019 .
  16. ^ "Transición de Intel MKL-DNN a oneDNN". Intel . Consultado el 25 de julio de 2024 .

Enlaces externos