Articulo de referencia

oneAPI (aceleración computacional)

oneAPI es un estándar abierto , adoptado por Intel, [1] para una interfaz de programación de aplicaciones (API) unificada destinada a ser utilizada en diferentes arquitecturas d...

oneAPI es un estándar abierto , adoptado por Intel, [1] para una interfaz de programación de aplicaciones (API) unificada destinada a ser utilizada en diferentes arquitecturas de aceleradores informáticos ( coprocesadores ), incluidas las GPU , los aceleradores de IA y las matrices de puertas programables en campo . Su objetivo es eliminar la necesidad de que los desarrolladores mantengan bases de código independientes, múltiples lenguajes de programación, herramientas y flujos de trabajo para cada arquitectura. [2] [3] [4] [5]

oneAPI compite con otras pilas de computación de GPU: CUDA de Nvidia y ROCm de AMD .

Especificación

La especificación oneAPI amplía los modelos de programación para desarrolladores existentes para permitir múltiples arquitecturas de hardware a través de un lenguaje de datos paralelos, un conjunto de API de biblioteca y una interfaz de hardware de bajo nivel para admitir la programación entre arquitecturas. Se basa en estándares de la industria y proporciona una pila de desarrollo abierta y multiplataforma. [6] [7]

Datos paralelos C++

DPC++ [8] [9] es una implementación del lenguaje de programación de oneAPI, construida sobre los estándares ISO C++ y Khronos Group SYCL . [10] DPC++ es una implementación de SYCL con extensiones que se proponen para su inclusión en futuras revisiones del estándar SYCL, incluyendo: memoria compartida unificada, algoritmos de grupo y subgrupos. [11] [12] [13]

Bibliotecas

El conjunto de API [6] abarca varios dominios, incluidas bibliotecas para álgebra lineal, aprendizaje profundo, aprendizaje automático, procesamiento de video y otros.

El código fuente de partes de las bibliotecas mencionadas anteriormente está disponible en GitHub. [14]

La documentación de oneAPI también incluye la API "Nivel Cero", que define las interfaces directas a metal de bajo nivel y un conjunto de componentes de trazado de rayos con sus propias API. [6]

Capa de abstracción de hardware

oneAPI Level Zero, [15] [16] [17] la interfaz de hardware de bajo nivel, define un conjunto de capacidades y servicios que un acelerador de hardware necesita para interactuar con los tiempos de ejecución del compilador y otras herramientas para desarrolladores.

Implementaciones

Intel ha lanzado kits de herramientas de producción oneAPI que implementan la especificación y agregan herramientas de migración, análisis y depuración de código CUDA. [18] [19] [20] Estos incluyen el compilador Intel oneAPI DPC++/C++ , [21] el compilador Intel Fortran , Intel VTune Profiler [22] y múltiples bibliotecas de rendimiento.

Codeplay ha lanzado una capa de código abierto [23] [24] [25] para permitir que oneAPI y SYCL/DPC++ se ejecuten en las GPU Nvidia a través de CUDA .

La Universidad de Heidelberg ha desarrollado una implementación SYCL/DPC++ para las GPU AMD y Nvidia. [26]

Huawei lanzó un compilador DPC++ para su chipset Ascend AI [27]

Fujitsu ha creado una versión ARM de código abierto de la biblioteca de redes neuronales profundas oneAPI (oneDNN) [28] para su CPU Fugaku .

Fundación de Aceleración Unificada (UXL) y el futuro de oneAPI

Unified Acceleration Foundation (UXL) es un nuevo consorcio tecnológico que trabaja en la continuación de la iniciativa OneAPI, con el objetivo de crear un nuevo ecosistema de software acelerador de estándares abiertos, estándares abiertos relacionados y proyectos de especificación a través de grupos de trabajo y grupos de interés especial (SIG). El objetivo competirá con CUDA de Nvidia. Las principales empresas detrás de él son Intel, Google, ARM, Qualcomm, Samsung, Imagination y VMware. [29]

Referencias

  1. ^ Fortenberry y Tomov 2022, pag. 22.
  2. ^ "Intel amplía su cartera de silicio y la iniciativa de software oneAPI para la próxima generación de HPC". HPCwire . 2019-12-09 . Consultado el 2020-02-11 .
  3. ^ "Intel presenta una nueva GPU (Ponte Vecchio) y describe sus aspiraciones para oneAPI". HPCwire . 2019-11-18 . Consultado el 2020-02-11 .
  4. ^ "SC19: Intel presenta una nueva pila de GPU y un esfuerzo de desarrollo de oneAPI - ExtremeTech" www.extremetech.com . Consultado el 11 de febrero de 2020 .
  5. ^ Kennedy, Patrick (24 de diciembre de 2018). "Una API de Intel para gobernarlos a todos es muy necesaria para expandir TAM". ServeTheHome . Consultado el 11 de febrero de 2020 .
  6. ^ abc "Especificación oneAPI". oneAPI .
  7. ^ "Preparación para la llegada de las GPU discretas de alto rendimiento de Intel". HPCwire . 2021-03-23 ​​. Consultado el 2021-03-29 .
  8. ^ "Data Parallel C++: Dominar DPC++ para la programación de sistemas heterogéneos utilizando C++ y SYCL". Apress .
  9. ^ Equipo, Editorial (16-12-2019). "Programación de computación heterogénea: oneAPI y Data Parallel C++". insideBIGDATA . Consultado el 11-02-2020 .
  10. ^ "El Grupo Khronos". El Grupo Khronos . 2020-02-11 . Consultado el 2020-02-11 .
  11. ^ "Khronos avanza hacia una implementación generalizada de SYCL con el lanzamiento de la especificación provisional SYCL 2020". The Khronos Group . 2020-06-30 . Consultado el 2020-07-06 .
  12. ^ personal (30 de junio de 2020). "Nuevas extensiones DPC++ abiertas complementan SYCL y C++". insideHPC . Consultado el 6 de julio de 2020 .
  13. ^ "SYCL 2020 se lanza con un nuevo nombre, nuevas funciones y gran ambición". HPCwire . 2021-02-09 . Consultado el 2021-02-16 .
  14. ^ "oneAPI-SRC". GitHub .
  15. ^ Verheyde 2019-12-08T16:11:19Z, Arne. "Intel lanza la especificación Bare-Metal oneAPI Level Zero". Tom's Hardware . Consultado el 2020-02-11 .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  16. ^ "El entorno de ejecución de cómputo de Intel agrega compatibilidad con oneAPI de nivel cero - Phoronix". www.phoronix.com . Consultado el 10 de marzo de 2020 .
  17. ^ "Puntos de referencia iniciales con Intel oneAPI Level Zero Performance - Phoronix". www.phoronix.com . Consultado el 13 de abril de 2020 .
  18. ^ "Intel defiende la visión XPU con oneAPI y GPU para centros de datos - SDxCentral". SDxCentral . 2020-11-11 . Consultado el 2020-11-11 .
  19. ^ "Intel presenta oneAPI Gold y brinda más detalles sobre la hoja de ruta de GPU". HPCwire . 2020-11-11 . Consultado el 2020-11-11 .
  20. ^ Moorhead, Patrick. "Intel anuncia el lanzamiento Gold de los kits de herramientas OneAPI y la nueva GPU Intel Server". Forbes . Consultado el 8 de diciembre de 2020 .
  21. ^ "Data Parallel C++ para aplicaciones de arquitectura cruzada". Intel . Consultado el 7 de octubre de 2021 .
  22. ^ "Solucione los cuellos de botella de rendimiento con Intel® VTune™ Profiler". Intel . Consultado el 7 de octubre de 2021 .
  23. ^ "Codeplay publica una versión de DPC++ para GPU Nvidia en código abierto". HPCwire . 2020-02-05 . Consultado el 2020-02-12 .
  24. ^ "OneAPI / DPC++ / SYCL de Intel se ejecutará sobre GPU NVIDIA con capa de código abierto - Phoronix" www.phoronix.com . Consultado el 6 de diciembre de 2019 .
  25. ^ "Codeplay - La contribución de Codeplay a DPC++ brinda compatibilidad con SYCL para GPU NVIDIA". www.codeplay.com . Consultado el 11 de febrero de 2020 .
  26. ^ Salter, Jim (30 de septiembre de 2020). "Intel y la Universidad de Heidelberg se unen para brindar compatibilidad con GPU Radeon a la IA". Ars Technica . Consultado el 7 de octubre de 2021 .
  27. ^ Ampliación de DPC++ con soporte para el chipset Huawei Ascend AI , consultado el 7 de octubre de 2021
  28. ^ fltech. "Una inmersión profunda en una biblioteca de aprendizaje profundo para la CPU A64FX Fugaku: la historia del desarrollo en las propias palabras del desarrollador". fltech - 富士通研究所の技術ブログ(en japonés) . Consultado el 10 de febrero de 2021 .
  29. ^ "Exclusivo: Detrás de escena de la trama para romper el control de Nvidia sobre la IA atacando al software" . Consultado el 5 de abril de 2024 .

Fuentes

  • Fortenberry, Anna; Tomov, Stanimire (2022). Ampliación de la portabilidad de MAGMA con OneAPI (PDF) . Taller de 2022 sobre programación de aceleradores mediante directivas (WACCPD). IEEE . págs. 22–31..
  • Sitio web oficial
  • oneAPI en GitHub
  • Brindamos soporte para GPU de Nvidia a los desarrolladores de SYCL
  • Reinders, James; et al. (2021). Data Parallel C++: Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL. Libro de acceso abierto. Springer. doi :10.1007/978-1-4842-5574-2. ISBN 978-1-4842-5574-2. Número de identificación del sujeto  226231933.
Obtenido de "https://es.wikipedia.org/w/index.php?title=OneAPI_(aceleración_de_cómputo)&oldid=1228776166"