Remove ads

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

Datos rápidos Información general, Tipo de programa ...
oneAPI
Información general
Tipo de programa Especificación formal para programación paralela
Licencia Software de código abierto
Información técnica
Plataformas admitidas Multiplataforma
Enlaces
Cerrar
Remove ads

La especificación oneAPI

La especificación oneAPI amplía los modelos de programación de desarrolladores existentes para habilitar 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 los estándares de la industria y proporciona una pila de desarrolladores abierta y multiplataforma.[6][7]

Data Parallel C++

DPC++[8][9] es un lenguaje abierto de arquitectura cruzada basado en 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. Un ejemplo de esto es la contribución de la memoria compartida unificada, los algoritmos de grupo y los subgrupos a SYCL 2020.[11][12][13]

Bibliotecas oneAPI

El conjunto de API[6] abarca varios dominios que se benefician de la aceleración, incluidas bibliotecas para álgebra lineal, aprendizaje profundo, aprendizaje automático, procesamiento de video y otros.

Más información Nombre de la biblioteca, Nombre Corto ...
Nombre de la biblioteca Nombre Corto Descripción
Biblioteca oneAPI DPC++ oneDPL Algoritmos y funciones para acelerar la programación del núcleo DPC++
Biblioteca del núcleo matemático oneAPI oneMKL Rutinas matemáticas que incluyen álgebra matricial, FFT y matemática vectorial
Biblioteca de análisis de datos oneAPI oneDAL Funciones de aprendizaje automático y análisis de datos
Biblioteca de redes neuronales profundas oneAPI oneDNN Funciones de redes neuronales para entrenamiento e inferencia de aprendizaje profundo
Biblioteca de comunicaciones colectivas oneAPI oneCCL Patrones de comunicación para el aprendizaje profundo distribuido
Bloques de creación de subprocesos de oneAPI oneTBB Biblioteca de plantillas de gestión de memoria y creación de subprocesos
Biblioteca de procesamiento de video oneAPI oneVPL Codificación, decodificación, transcodificación y procesamiento de video en tiempo real
Cerrar

El código fuente de la mayoría de las implementaciones de las bibliotecas anteriores está disponible en GitHub.[14]

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

Remove ads

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 de desarrollo.

Implementaciones

Intel ha lanzado kits de herramientas oneAPI de calidad de producción 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 Intel oneAPI DPC++/C++ Compiler,[21] Intel Fortran Compiler, Intel VTune Profiler[22] y varias bibliotecas de rendimiento.

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

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

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

Fujitsu ha creado una versión ARM de código abierto de oneAPI Deep Neural Network Library (oneDNN)[28] para su CPU Fugaku.

Remove ads

Referencias

Remove ads

Enlaces externos

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.

Remove ads