Todas las Noticias en Películas, Avances de Películas y Reseñas.

Por qué los desarrolladores deberían dejar que oneAPI ‘simplifique drásticamente’ su trabajo

Cada vez está más claro que el futuro de la informática no es un chip para todo, sino más bien muchas fichas por muchas cosas. Pat Gelsinger, director ejecutivo de Intel imaginado recientemente un “mar de aceleradores” entre los cuales los clientes podían seleccionar, mezclar y combinar según sus necesidades específicas.

Suena bastante bien, ¿verdad? A menos que usted sea el desarrollador de software encargado de crear código personalizado para cada nuevo tipo de chip (o incluso simplemente probar un nuevo tipo de chip).

(Foto: Corporación Intel)

LEA TAMBIÉN: Intel incluye placas base en el aumento de precios del cuarto trimestre de 2022

Aquí es donde entra en juego Paul Petersen, miembro de Intel y arquitecto de software de oneAPI. Su trabajo es lograr que los desarrolladores puedan tener un conjunto de código que se ejecute lo más rápido posible, para todos los chips.

Por más sencillo que parezca, es una tarea de un alcance impresionante.

La ambición de oneAPI es abordar ambos problemas con un gran cambio: brindar a los desarrolladores opciones en lo que respecta al hardware y facilitar la obtención de código de alto rendimiento. Intel, dice Petersen, tiene “el punto de vista único de que estamos permitiendo que se incluya hardware heterogéneo en la mezcla”.

A diferencia de las soluciones patentadas, en particular el modelo de programación CUDA, que apunta a las GPU de Nvidia, oneAPI se basa en una base de apertura que permite la máxima elección y consolida los estándares.

Barra lateral rápida: oneAPI puede referirse a dos cosas. Primero es la iniciativa oneAPI, una comunidad abierta que trabaja en conjunto para definir y dar forma a la especificación oneAPI, cuyo objetivo es brindar a los desarrolladores una experiencia común en diferentes tipos de chips y de diferentes proveedores. Los segundos son la API de Intel kits de herramientas basados ​​en ese estándar abierto que funcionan en todas las CPU, GPU y FPGA de Intel. A partir de aquí, “oneAPI” se referirá a estos kits de herramientas de Intel.

Recomendado:  El sonido generado por IA de Google 'MusicLM' crea sonido basado en la actividad cerebral

Rendimiento portátil en muchos tipos de procesadores

Digamos que está creando un programa para predecir el clima de mañana o modelar la interacción de moléculas para terapias médicas. Los kits de herramientas Intel oneAPI contienen las herramientas para migrar y compilar código existente y conjuntos de bibliotecas con funciones preajustadas para varios tipos de chips, o con procesadores escalables Intel® Xeon® de cuarta generación, muchos aceleradores en un chip.

En lugar de aprender tres o cuatro formas diferentes de realizar una sola función, dice Petersen, los desarrolladores “básicamente pueden aprender una forma de hacerlo y luego manejamos la diversidad y nos encargamos del mapeo hasta el hardware de una manera eficiente. “

Comer complejidad para los clientes siempre ha sido una estrategia empresarial fundamental de Intel. En este caso, “simplificamos drásticamente el costo del desarrollador en cuanto a cuánto necesita aprender y cuántos ecosistemas diferentes necesita mantener para hacer su trabajo”.

Petersen describe oneAPI como “un sistema de programación orientado al rendimiento”, a diferencia de algo como JavaScript o Python “donde se trata de productividad y el rendimiento es secundario”. El equipo está “creando un ecosistema abierto que permite ese tipo de productividad de desarrollador para software de alto rendimiento”.

“Nos esforzamos por estar lo más cerca posible del hardware y al mismo tiempo ser portátiles y admitir múltiples tipos de hardware”, explica. Ahí radica el beneficio para los desarrolladores: código que es más fácil de escribir, mantener y comercializar. Es también el desafío central del trabajo de Petersen.

Este enfoque significa asumir “muchos desafíos en términos de optimización del rendimiento simultáneamente en múltiples objetivos. Cada vez que permite elegir, debe tomar decisiones, lo que puede aumentar la latencia. Luchamos constantemente para mantener las rutas de nuestro código lo más cortas posible”. como sea posible.”

Hasta ahora todo va bien: “Podemos enfrentarnos cara a cara con el mismo hardware y mostrar a los usuarios que no pierden nada al cambiar a una solución abierta”, afirma Petersen. Varios estudios académicos recientes oso este afuera.

Recomendado:  TikTok considera dejar ByteDance como último recurso en medio del escrutinio de Estados Unidos

‘Una cantidad increíble de profundidad para coordinar’

El resultado de este ambicioso plan (ofrecer un conjunto completo y competitivo de características, inventar nuevas capacidades y hacerlo a través de una gama cada vez mayor de configuraciones de hardware) es que “oneAPI es enorme”, confirma Petersen. Tanto literal como metafóricamente.

Intel ofrece varios kits de herramientas oneAPI para diferentes usos, cada uno compuesto por docenas de componentes, que se descomponen jerárquicamente en un número incontable de funciones. Suma decenas de millones de líneas de código.

Todas las reuniones que llenan el calendario de Petersen son importantes para “una increíble profundidad para coordinar, para hacer que las personas trabajen juntas, para diseñar interfaces en las que puedan colaborar, para asegurarnos de que podamos obtener una ejecución eficiente de todos los piezas de hardware a las que estamos intentando apuntar”.

Hay otra buena razón para dejar la complejidad en manos de Petersen y su equipo: se está volviendo demasiado para que una sola persona se preocupe.

“Es muy difícil para los usuarios comprender la escala de paralelismo que estos aceleradores realizan de forma natural y la velocidad a la que funcionan”, explica Petersen. “Podemos llegar fácilmente al punto en el que tenemos que imaginar cientos de miles, si no millones, de cosas ejecutándose en paralelo para tener suficiente trabajo para mantener los dispositivos ocupados. Los desarrolladores deben pensar en grande en la escala del paralelismo que necesitan hacer.”

Una carrera dedicada a ‘pensar en paralelo’

Como una nueva generación de supercomputadoras del tamaño de la palma de la mano como la GPU Intel® Data Center Serie máxima Si llegan al mercado y las supercomputadoras superan la exaescala y entran en niveles de rendimiento en la escala zetta, la microgestión del hardware podría volverse simplemente imposible. Petersen aconseja a los desarrolladores “pensar en paralelo”.

Es fácil para él decir: Petersen ha estado “pensando en paralelo” desde sus estudios de posgrado a finales de los años 1980. “En la universidad tuve la oportunidad de ser parte del concursos internacionales de programación“, dice Petersen, “y casualmente estuve en el equipo ganador un año”. Él atribuye ese pequeño trofeo en su CV a las personas que “se arriesgaron conmigo y me trajeron al Centro de Investigación y Desarrollo de Supercomputación en el Universidad de Illinois.”

Recomendado:  Resumen de Magic: The Gathering's Jumpstart Preview: 18 de junio de 2020

Más tarde, Petersen participó en un programa de investigación de computación paralela dirigido por David Kuck. Después de graduarse, Petersen se unió a su empresa, Kuck & Associates, o KAI, para crear compiladores y herramientas de programación orientados al rendimiento.

En abril de 2000, Intel adquirió la empresa de Kuck – El propio Kuck es miembro de Intel – “y desde entonces hemos viajado en cohete por el interior de Intel, construyendo diferentes tipos de productos”, dice Petersen.

Disponible una API: más apertura, más opciones, más rendimiento

¿Qué sigue en el cohete de oneAPI? Más ambición, por supuesto.

Por parte del desarrollador, oneAPI ha estado apoyando Más idiomas más allá de C++, como Python, Java y Julia. En el lado del hardware, el próximo Los kits de herramientas Intel oneAPI 2023 obtienen soporte para las arquitecturas CPU, GPU y FPGA más recientes y futuras de Intel, e incluyen herramientas para facilitar la conversión de código propietario a código multiarquitectura.

En cuanto al rendimiento, Petersen prevé hacer que oneAPI sea aún más inteligente, capaz de equilibrar la carga entre muchas CPU, GPU u otros aceleradores, no solo dentro de una máquina, sino entre bastidores y bastidores de ellas.

“Queremos que los usuarios se sientan cómodos manteniendo su software, incluso si necesitan dirigirse a nuevos clientes o nuevo hardware. Estamos creando la infraestructura que permite la diversidad de opciones en el ecosistema, y ​​esperamos que los clientes elijan Intel”.

ARTÍCULO RELACIONADO: Intel amplía su liderazgo en dispositivos móviles y brinda un rendimiento entusiasta a computadoras portátiles delgadas y livianas

ⓒ 2023 . .