Divulgación de Intel sobre sus gráficos discretos Xe-HPC

Han pasado un par de semanas desde que Intel proporcionó formalmente algunos detalles de alto nivel sobre su nueva estrategia de gráficos discretos. La razón de los anuncios y divulgaciones se centró en el contrato de Intel con el Departamento de Energía para construir Aurora, una supercomputadora a gran escala en el Laboratorio Nacional de Argonne. El DoE y Argonne quieren que los desarrolladores se familiaricen pronto con el hardware, por lo que cuando se implementa la supercomputadora, se puede usar con el menor “tiempo de aprendizaje” posible. Esto significa que Intel tuvo que desarrollar parte de su estrategia, así como levantar la tapa de su primer producto de GPU discreto anunciado. Solo el tiempo dirá si es un puente demasiado lejos o sobre aguas turbulentas, pero hoy lo conocemos como Ponte Vecchio.

Intel en gráficos discretos: un resumen rápido

Si bien Intel ha tenido una cartera de gráficos durante un par de décadas, esas soluciones gráficas se han limitado a gráficos integrados y soluciones gráficas integradas. Hubo un leve intento de ingresar al espacio de gráficos y jugar con los grandes, con el Intel i740 , sin embargo, eso fue hace mucho tiempo. La arquitectura gráfica actual de Intel, llamada ‘Gen’, se usa actualmente en cientos de millones de dispositivos móviles, y está presente en un número sustancial de procesadores de escritorio, incluso si se usa una GPU discreta.

Intel ha tenido grandes esperanzas para el espacio de gráficos antes. Conocido como ‘Larrabee’, Intel intentó diseñar lo que esencialmente era gráficos basados ​​en x86: usando motores de vector ancho basados ​​en la misma ruta de código que las CPU de Intel, la idea era proporcionar un rendimiento de gráficos de alta gama con la facilidad de programación en código de CPU estándar . Si bien ese producto realmente ejecutó una serie de demostraciones gráficas a lo largo de los años, el hardware terminó siendo utilizado en el mercado informático de alto rendimiento, donde algunos desarrolladores vieron el uso de cinco docenas de unidades de vector de 512 bits de ancho absolutamente fantástico para sus simulaciones Este fue el nacimiento de AVX-512, que ha vivido y ahora en las CPU escalables Xeon de Intel, así como en los procesadores portátiles Ice Lake de grado de consumo. El producto que ‘Larrabee’ terminó como, Xeon Phi, obtuvo varias victorias de supercomputadora y originalmente el producto Xeon Phi ‘Knights Hill’ estaba destinado a ser puesto en Aurora en 2020. Sin embargo, el programa Xeon Phi solo duró unas pocas generaciones, con el hardware final de ‘Knights Mill’ que no se ha implementado ampliamente y posteriormente puesto en pastoreo.

Avance rápido varios años y algunos ajustes de gestión, e Intel ha decidido una vez más ingresar al gran mercado de gráficos. Esta vez van con algo más convencional, algo que se parece más a un diseño gráfico tradicional. Si bien el proyecto comenzó en algún lugar hace unos tres años, el gran anuncio de que Intel hablaba en serio fue cuando la compañía contrató a Raja Koduri, Arquitecto Jefe de Gráficos de AMD en diciembre de 2017, y luego a Jim Keller, reconocido SoC Guru. El título de Raja Koduri, Arquitecto Jefe, y sus dos décadas de experiencia en la creación de soluciones gráficas en AMD y Apple mostraron cuán serio era Intel con esto.

Desde diciembre de 2017, Intel no ha dicho mucho sobre sus nuevos planes de gráficos. Bajo Ari Rauch, se contrataron figuras notables de marketing y analistas para formar parte del equipo. Intel reveló en su Día de la Arquitectura en diciembre de 2018 que las soluciones gráficas que ofrecería serían una implementación completa de arriba a abajo, cubriendo gráficos integrados de baja potencia hasta la gama alta. En ese momento, Intel declaró que habría dos microarquitecturas GPU principales, todas construidas a partir de la arquitectura ‘X e ‘. Xe significa ‘eXascale for Everyone’ (en lugar de x ^ 2.718), con el mensaje de marketing de que Intel quiere poner el rendimiento y la eficiencia de alta gama en cualquier lugar que pueda.

Como parte de HPC DevCon, y el anuncio de Intel con el DoE / Argonne, se levantó el velo y se nos dijo algo más que solo la información de alto nivel. Tuvimos la suerte de hablar con Raja Koduri en una exclusiva mundial para el evento, como su primera entrevista oficial 1 a 1 desde que se unió a Intel. Vale la pena leerlo y da su perspectiva sobre muchas ideas, así como algunas de las decisiones que ha tomado.

Este artículo se sumergirá en las revelaciones de Intel DevCon de HPC sobre su estrategia de gráficos. Aquí vamos a cubrir algunos de los comentarios sobre los grandes planes de Intel, la nueva ‘tercera’ microarquitectura en Xe llamada Xe -HPC, el nuevo producto de GPU ‘Ponte Vecchio’, el nuevo Memory Fabric de Intel, un desglose del software oneAPI apilar como se presenta, y lo que todo esto significa para el resto de la plataforma de gráficos de Intel.

Exascale para todos

Intel dice que es difícil no darse cuenta de la demanda “insaciable” de un cómputo más rápido y más eficiente. No solo eso, sino que ciertas personas quieren ese cálculo a escala, específicamente en ‘exascale’. (Fue revelado en un evento de supercomputación de alto rendimiento, después de todo). Para 2020 y más allá, Intel ha designado esto como la era ‘Exascale’ en informática, donde ninguna cantidad de cómputo es lo suficientemente buena para la investigación de vanguardia.

Además de esto, Intel señala la cantidad de dispositivos conectados en el mercado. Hace unos años, los analistas pronosticaban dispositivos 50 B IoT para 2020-2023, y en esta presentación Intel dice que para mediados de 2020 y más allá, habrá 100 mil millones de dispositivos que requieren alguna forma de computación inteligente. El paso a la implementación de IA, tanto en términos de capacitación como de inferencia, significa que el rendimiento y la capacidad computacional deben ser ubicuos: más allá de la red, más allá del dispositivo móvil, más allá de la nube. Esta es la visión de Intel de hacia dónde irá el mercado.

Intel divide esto en cuatro categorías específicas de cómputo: Escalar, Vector, Matriz y Espacial. Esta es sin duda una parte de la presentación con la que puedo decir que estoy de acuerdo, ya que hice una programación de alto rendimiento en una carrera anterior. El cálculo escalar es el cálculo estándar del día a día en el que se ejecutan la mayoría de los sistemas. El cómputo vectorial se está moviendo a instrucciones paralelas, mientras que el cómputo matricial es el tema de conversación del momento, con cosas como núcleos tensoriales y chips AI todos trabajando para optimizar el rendimiento de la matriz. La otra parte de la ecuación es el cálculo espacial, que se deriva del mercado de FPGA: para el cálculo disperso que es complejo y puede optimizarse con su propio motor de cálculo no estándar, entonces un FPGA lo resuelve. Obviamente, el objetivo de Intel aquí es cubrir cada una de estas cuatro esquinas con hardware dedicado: CPU para Scalar, GPU para Vector, AI para Matrix y FPGA para Spatial.

Uno de los problemas con el hardware, al pasar de la CPU a la FPGA, es que se vuelve cada vez más especializado. Una CPU, por ejemplo, puede hacer Scalar, Vector, Matrix y Spatial, en un apuro. No va a ser muy bueno para algunos de ellos, y la eficiencia energética puede ser pobre, pero al menos puede hacerlos, como un punto de partida para otras cosas. Con GPU, AI y FPGA, estas especializaciones de hardware vienen con diferentes cantidades de complejidad y una mayor barrera de entrada, pero para aquellos que pueden aprovechar el hardware, son posibles grandes aceleraciones. En un esfuerzo por hacer que el cómputo sea más ubicuo, Intel está impulsando su plan oneAPI con un recurso focal singular para los cuatro tipos de hardware. Más sobre esto más tarde.

La arquitectura Xe de Intel será la base de todo su hardware de GPU. Representa un nuevo rediseño fundamental de su arquitectura gráfica actual, llamada ‘Gen’, y recoge lo que la compañía ha aprendido de productos como Larrabee/Xeon Phi, Atom, Core, Gen e incluso Itanium (!). Intel reveló oficialmente que ha recuperado su primer silicio Xe de las fábricas, y ha realizado pruebas de encendido y funciones básicas con él, con el deseo de promover que sea algo real.

Hasta ahora, los últimos gráficos ‘Gen’ que hemos visto es la solución de gráficos Gen11, que se encuentra en los nuevos procesadores portátiles de consumo Ice Lake. Estos están disponibles en el mercado, listos para comprar hoy, y presentan un rendimiento 2 veces mayor que los diseños Gen9 / Gen9.5 anteriores. (Debo señalar que Gen10 se envió en Cannon Lake pero fue deshabilitado: este es el único gráfico en el que he visto a Intel reconocer oficialmente la existencia de gráficos Gen10). Hemos visto diagramas, potencialmente de Intel o de otros lugares, que muestran ‘ Gen12 ‘. Parece que ‘Gen12’ era solo un nombre para Xe , y en realidad no existe como una iteración de Gen. Cuando le preguntamos a Raja Koduri sobre el futuro de Gen, dijo que todos los desarrolladores de Gen ahora están trabajando en Xe . Todavía hay actualizaciones de gráficos para Gen, pero los desarrolladores de software que se pueden transferir a Xe ya lo han hecho.

Si solo vas a leer una cosa hoy, entonces quiero pasar a la última diapositiva de Raja de lo que presentó en HPC DevCon. Al poner un objetivo bastante ambicioso frente a la audiencia, demostró que Intel quiere ser capaz de proporcionar un rendimiento de 500x por nodo de servidor para fines de 2021 en comparación con el rendimiento por nodo en 2019.

Ahora vale la pena señalar que este objetivo no se concretó específicamente: ¿estamos comparando el código vectorial que se ejecuta en modo escalar en un solo Xeon Bronze de 6 núcleos en 2019 con un zócalo dual optimizado con seis GPU Xe en 2021? 500x es una gran apuesta, así que espero que Intel esté listo.

En las próximas páginas, cubriremos Xe , Ponte Vecchio, oneAPI y Aurora.

X e : sabores y arquitectura

Antes de las revelaciones hechas en HPC DevCon, Intel había declarado previamente que su diseño Xe , la arquitectura Xe , se extendería desde gráficos integrados hasta gráficos de rango medio, gráficos empresariales y luego al centro de datos para su uso en AI, aceleración, gráficos virtualizados y todo lo demás. En el nivel de entrada, los usuarios deben esperar ‘TeraFLOPs’ de rendimiento, mientras que en el nivel del centro de datos habrá ‘PetaFLOPs’ de rendimiento. El gráfico se parecía a esto:

En ese momento, Intel especificó que habría dos versiones de Xe en todo este rango. Una de las grandes revelaciones de los anuncios de Intel fue no solo la aparición de una tercera variante de Xe , sino también el nombramiento de las tres variantes.

En el nivel de entrada será Xe -LP, o Low Power. Esto cubrirá todas las soluciones gráficas integradas: Raja Koduri dijo que el diseño de LP generaría hasta 20 W de potencia gráfica. También afirmó que el diseño de LP es escalable, hasta 50 W, pero no hay planes para lanzar LP a esa potencia ya que se vuelve menos eficiente. Con esto, deberíamos esperar ver LP en factores de forma móviles tradicionales de hasta 45 W, y probablemente en CPU de escritorio monolíticas. A partir de esto, debemos suponer que LP es estrictamente para soluciones gráficas móviles e integradas, y es poco probable que esté disponible de forma discreta. Por discreto, me refiero a un factor de forma de tarjeta PCIe: si Intel fabricara silicio LP discreto como productos, podría estar disponible para ampliar lo que ya está disponible en los procesadores de factor de forma portátil.

Para el rango medio, entusiasta y centro de datos, tenemos Xe -HP, o High Power. Aquí es donde se reproducirán los gráficos de factor de forma discreto de Intel, probablemente desde 50 W hasta 250 W o más. Dada la importancia del espacio discreto de la tarjeta gráfica, Intel tendrá que atacar con Xe -HP con soporte de hardware y software, incluidos los controladores de día 0. Intel no entró en detalles con respecto a Xe -HP, que esperamos se presente en algún momento de 2020.

El nuevo tercer brazo será Xe -HPC, o Computación de alto rendimiento. Donde las variantes LP y HP tendrán un ángulo de salida de gráficos, HPC se trata de mejorar el rendimiento bruto.

La nueva GPU Ponte Vecchio, de la que hablaremos en las páginas siguientes, se incluye en esta microarquitectura Xe -HPC. Intel fue claro al señalar que Xe -HPC no es tanto una ‘nueva versión de alto nivel’ de Xe , sino que cubrirá las cargas de trabajo pesadas de cómputo en comparación con las cargas de trabajo pesadas de gráficos. Un gran diagrama que publicaron fue este:

Esto muestra que LP está tomando el mercado de gama baja, HP busca un sobretono de mayor rendimiento, y luego HPC escalará desde la parte superior de LP, a través de todo HP, y más allá de HP. Debido a que las implementaciones de supercomputadoras que usan este hardware pueden acomodar mejor el hardware de mayor consumo de energía que las PC de gama alta normales o incluso los servidores, es probable que las variantes HPC aumenten a 400 W o incluso más (vimos una tarjeta PCIe con un TDP de 500 W este año) en Supercomputing, por lo que podría ser una nueva norma).

Estructuralmente sólido: arquitectura

Cada diseño de GPU se basa fundamentalmente en su capacidad de ancho de vector. Una GPU es una gran máquina de vectores elegante, por lo que se debe hacer un equilibrio entre los vectores súper anchos que pueden acomodar muchos cálculos contra muchas máquinas de vectores pequeños que pueden hacer cosas en paralelo. Uno de los mayores impulsores para el ancho de vectores vuelve a los cálculos gráficos: ser capaz de manipular un cierto número de píxeles dentro de un vector en el momento adecuado, y tratar con datos que provienen de diferentes lugares en la memoria, o tal vez incluso tratar con diferentes núcleos trabajando en diferentes conjuntos de datos.

El ancho del vector también define gran parte del software y muchas optimizaciones. Cuando habló con Raja Koduri como parte de las revelaciones, declaró que tratar de traducir el código creado para un ancho de vector grande a un ancho de vector más pequeño era en realidad bastante difícil. Para ese fin, Xe se construye con un ancho de vector variable.

X e contiene dos unidades fundamentales: SIMT y SIMD. En esencia, SIMD (instrucción única, datos múltiples) es como CPU y se puede realizar en elementos individuales con múltiples fuentes de datos, mientras que SIMT (instrucción única, hilos múltiples) implica el uso de las mismas instrucciones en bloques de datos, como parte del conjunto Cosa de procesamiento ‘vector’. Se puede construir un diseño Xe con varios módulos SIMT y SIMD en el orden correcto para tratar con la naturaleza precisa de la carga de trabajo para ese segmento de mercado. Bienvenido a GPU Building, estilo Lego.

Junto con SIMT y SIMD, Intel declaró que ambas partes pueden trabajar juntas para el modo de “máximo rendimiento”. Esto casi suena como extender un posible comando SIMT sobre las unidades SIMD, si eso es posible. Pero Intel afirmó que el diseño de cada unidad debe ser escalable (debido a la exascala). En este caso, Intel estaba muy interesado en promover que su arquitectura Xe , con unidades SIMT y SIMD en sus diseños Xe -HPC al menos, pueda escalar a miles de unidades.

En ese diagrama muestra una cuadrícula de 8×8, con puntos extendiéndose a una cuadrícula de 14×11, pero no creo que haya nada que podamos inferir de este diagrama.

Según las simulaciones internas de Intel, mostraron algunas áreas en las que la combinación de SIMD + SIMT ayudaría. En este caso, algunos de los códigos SIMT estándar no experimentan ninguna aceleración y solo pueden usar unidades SIMT: un tipo bitónico, el rastreador de rayos MoonLight y Matrix Multiply (que es uno grande). Otros códigos pueden experimentar aceleración con SIMT + SIMD combinados, como Matrix Transposing, simulaciones de N-body, el motor de trazado de rayos LightRay, y la mayor mejora está en FastWalsh.

Lo que sugiere este gráfico es que para el código que está completamente optimizado para SIMT, no se necesita SIMD adicional y permanecerán inactivos. Para el código que se basa en algún trabajo en serie, como el cuerpo N, o para los trazadores de rayos que se programan de manera diferente, cuando un núcleo necesita realizar algún trabajo en serie, puede mover esos hilos a la parte SIMD / CPU del hardware y proceder camino en lugar de tener que volver a la CPU. Esto puede ser importante para muchas aceleraciones de código, pero para aquellos que ya están muy optimizados para el cómputo de vectores, entonces la presencia de las unidades SIMD solo significa espacio de silicio desperdiciado; tenga en cuenta eso.

Diseño de unidad de ejecución: un alto nivel

Intel tuvo la amabilidad de mostrar lo que entra en una de estas unidades Xe , pero solo en el sentido de un diagrama de bloques sin mucha información.

Debo decir que esta diapositiva es una unidad Xe -HPC, lo que significa que otras unidades LP / HP pueden tener un aspecto similar pero tener una ponderación diferente de las características. No indica si se trata de una unidad SIMT o SIMD, pero es probable que sea una unidad SIMT dado lo que podemos deducir.

Si este diagrama parece relativamente familiar, entonces comparto esos pensamientos. Parece ser un diagrama actualizado de una de las unidades de ejecución de la arquitectura de gráficos Gen de Intel. Para una recapitulación rápida, esa arquitectura se basó en una tubería de 7 vías con 7 hilos por UE. En este caso, es muy fácil ver que una unidad Xe -HPC tiene un esquema de 8 vías, lo que probablemente indica 8 hilos en paralelo si el diagrama es una representación precisa.

No hay forma de saber qué tipo de operaciones puede realizar cada subproceso, pero es probable que los bloques de la izquierda sean para diferentes funciones de subproceso, como un par de unidades de funciones especiales en la parte superior, mientras que los dos grupos de cuatro podrían ser para Instrucciones AES, o puertos de carga / almacenamiento de memoria, o cachés locales.

Todo lo que realmente sabemos con certeza es que Intel está poniendo mucho esfuerzo en esta unidad Xe -HPC para admitir doble precisión. Esto es importante y para explicar por qué necesitamos cubrir algunas verdades sobre el panorama informático de alto rendimiento.

En el advenimiento de la programación de GPU, con las maravillosas delicias de las primeras versiones de CUDA, el enfoque se centró en el rendimiento de precisión simple: conocido como punto flotante de 32 bits o FP32. Para cualquiera que hiciera simulaciones científicas, dependiendo del tipo de trabajo que estaba haciendo, esto fue genial y súper rápido, o muy rápidamente llegó a un punto donde la precisión simple no era suficiente.

Durante mi doctorado tuve la suerte de cubrir temas que cayeron a ambos lados de la cerca, pero lo que me molestó fue cuando FP32 no fue suficiente: mis simulaciones producían resultados como se esperaba, y de repente se aplacaron cuando los cambios fueron se suponía que estaba sucediendo en la simulación que sucedió en un grado tan fino que FP32 no tenía suficientes cifras significativas para compensar.

Como resultado, tuve que cambiar la mayoría de mis tipos de cómputo y datos a doble precisión, o FP64. Esto me dio una docena más o menos de cifras significativas por valor, pero también puso todo tipo de tensiones en mis cargas de trabajo en términos de presión de registro, presión de caché, y el diseño tuvo que ser cambiado en partes para acomodarlo. Para llegar al mismo punto en la simulación con FP32 y FP64, FP64 tomó más tiempo, pero pude ir más allá y realmente obtuve resultados significativos.

Afortunadamente en ese momento, NVIDIA era bastante razonable con el equilibrio FP32 / FP64. Si no era un estricto 1: 1, al menos una tasa de 1/2 o 1/3 era suficiente, especialmente cuando era necesario. Cuando apareció el hardware de velocidad 1/32, todos pensamos que era una estratagema para alentar a los estudiantes de simuladores académicos de bajo costo a las cosas de alto costo, no porque las tarjetas dedicaran más silicio a cargas de trabajo pesadas en gráficos.

Durante mucho tiempo, el cómputo FP64 ha reinado supremo. Entonces apareció esta cosa llamada IA, con sus altos requisitos de cómputo para el entrenamiento. Los requisitos de cómputo de la IA ciertamente están impulsando a la industria hacia adelante, sin embargo, parece haber argumentos sobre el rendimiento y el rendimiento: dependiendo del investigador con el que hable, cada uno puede tener una preferencia diferente a la precisión de los números. Existe una compensación entre la precisión del entrenamiento, el tiempo de entrenamiento y el rendimiento de cómputo cuando hablamos de números de baja precisión (INT8, FP16) con números de alta precisión (FP32, FP64). Entre el entrenamiento y la inferencia (Facebook necesita mucha inferencia, por ejemplo) ha habido un gran impulso hacia la computación de baja precisión.

Así que aquí tenemos dos caras de la moneda: FP64 para los simuladores, aquellos que se ocupan de petróleo / gas, astronomía, geología, dinámica del clima y algunos análisis financieros, mientras que el entrenamiento de IA funciona principalmente en FP16 / BF16 y la inferencia de IA le gusta INT8 / FP16.

El juego de Intel aquí con Xe -HPC es para la multitud FP64. La promesa con Xe -HPC es un aumento de 40 veces en el rendimiento de cómputo FP64. Dicho esto, no dijeron en comparación con qué, ¿a un viejo diseño Gen?

En este punto, esto es todo lo que sabemos acerca de cómo se verían las Unidades de Ejecución Xe, y la mayoría de los detalles aquí se aplican solo a Xe -HPC. En este punto, se desconoce qué funciones / equilibrio se utilizarán para LP o HP, pero me arriesgaría a adivinar y decir que esos diseños se construyen más como núcleos de sombreadores para fines gráficos.

Xe MF: el tejido de memoria escalable, con RAMBO CACHE

Si bien Intel deseaba señalar que las unidades de ejecución Xe -HPC pueden escalar a miles de unidades, el escalado no significa nada sin la forma correcta de mover datos dentro y fuera de esos motores de cómputo. Con ese fin, Intel reveló que ha desarrollado un tejido de memoria para sus diseños Xe -HPC llamado Xe MF.

La estructura de memoria escalable se encuentra entre las unidades de cómputo y cualquier memoria conectada; en este diagrama, en este caso, vemos HBM en la lista. Suponiendo que este diagrama sea exacto, hay algunas conclusiones que podemos obtener de esto.

En primer lugar, el Xe MF tiene tres conexiones a cada unidad de cálculo Xe -HPC (X e CU), mientras que solo tiene una conexión a cada canal HBM. Eso es un factor 3: 1 en el ancho de banda, que podría ser una limitación de la transferencia de datos fuera del silicio.

Además, cada Xe CU parece tener conexiones directas entre sí sin necesidad de usar la tela. Nuevamente, muestra 3 conexiones entre cada Xe CU, y muestra que una Xe CU solo puede comunicarse con sus dos vecinos más cercanos. El diagrama muestra las Xe CU de forma lineal, lo que podría ser por la simplicidad del diagrama.

El diagrama también muestra cada canal de HBM capaz de hablar con los canales de HBM de al lado sin pasar por la estructura. Si eso es cierto, eso es nuevo.

Luego están las conexiones en la parte superior de la parte inferior de la tela, probablemente extendiendo la tela a más chips. Lo veremos en un segundo.

Aunque me perdí la imagen, la siguiente diapositiva en este mazo muestra que el Xe MF tiene una sorpresa secreta: un caché especial. En este caso, se ha denominado caché ‘RAMBO’, aunque después de hablar con Raja, este no será el nombre comercial real de esta característica. Lo que hace la memoria caché RAMBO es ofrecer una gran cantidad de memoria caché para que las Xe CU recurran y almacenen datos para su uso futuro. Dado que las líneas en el diagrama muestran que el ancho de banda de caché a CU tiene una mejora de 3: 1 sobre el caché a HBM, entonces el almacenamiento de datos para cómputo futuro probablemente sea para lo que sirve, ya que puede proporcionarlo a las CU a un nivel mucho mayor banda ancha. La diapositiva implica que el caché RAMBO está dentro de los chips Xe MF, pero en otro lado dice que Foveros se usa en el caché RAMBO, por lo que en realidad podría distribuirse a través del diseño completo de la GPU.

En la siguiente diapositiva, esto es exactamente lo que nos dice Intel. Aquí Intel está dando el ejemplo de las matrices FP64, pero no especifica si esto significa calcular o transmitir ancho de banda. En este caso, sin la memoria caché RAMBO, la Xe CU estaría en su máximo rendimiento con una matriz de 8×8, probablemente comenzaría a disminuir en algún lugar alrededor de la matriz de 64×64 o 256×256, hasta un punto bajo en una matriz de 4096×4096. Con el caché RAMBO, de acuerdo con Intel, el “rendimiento” (nuevamente, no estoy seguro si computar o transmitir) será el mismo en matrices 4096×4096 que en matrices 8×8. Para una gran cantidad de trabajo de simulación, será una gran adición.

Una última palabra sobre el tejido: no se sabe si Xe MF vendrá a diseños LP o HP; Intel solo habló sobre Xe MF en el contexto de HPC.

Ponte Vecchio: el puente viejo en la tierra de Gelato

Con las divulgaciones sobre Xe -HPC y la nueva unidad de cómputo y la estructura de memoria en mente, Intel hizo el anuncio de grandes sumas de dinero: la primera GPU Xe -HPC será un diseño llamado Ponte Vecchio (PVC).

Si eso te parece una GPU extraña, entonces estoy de acuerdo. Lo que tenemos son dos segmentos, cada uno con ocho chiplets de cómputo, varios chips Xe MF y memoria HBM. Quiero retroceder un segundo para hablar sobre algunas de las tecnologías en torno al PVC antes de entrar en lo que vemos aquí.

A principios de 2019, me ofrecieron la oportunidad de hablar con Ramune Nagisetty de Intel . Está a cargo de los planes de Intel con respecto a las tecnologías de conectividad y chiplet: es la persona con quien hablar cuando se trata de conectar chiplets con tecnologías como el Embedded Multi-Die Interconnect Bridge (EMIB), pero también cuando se trata de nuevas tecnologías de apilamiento como Foveros. Ya hemos visto EMIB en una serie de productos, como la familia FPGA de Intel y hardware de consumo como Kaby Lake-G, y Foveros está recibiendo su primer centro de atención en el nuevo chip Lakefield para portátiles de cliente de factor de forma pequeño, que acumula un chip IO de 14nm con un dado de cómputo de 10nm, todo con una PoP DRAM en la parte superior.

En esa discusión, se confirmó lo que Raja había dicho en el Día de la Arquitectura unos meses antes: tanto EMIB como Foveros vendrán a la nueva familia de GPU de Intel. Por supuesto, EMIB y Foveros no son baratos: tratar de alinear las vías entre el silicio se hace mejor cuando está sobrio y con la cabeza despejada, e incluso entonces siempre hay que hacer optimizaciones. En ese sentido, asumimos que EMIB y Foveros utilizarían las soluciones de gráficos discretos de alta gama, lo que ahora sabemos que es Xe -HP. Pero parece que es probable que estas tecnologías estén en Xe -HPC como prioridad, y Ponte Vecchio parece ser el primer chip que tendrá ambos.

Vale la pena señalar que tecnologías como EMIB y Foveros van a definir el futuro de Intel. No solo en GPU, sino también en CPU, FPGA, AI y todo lo demás.

Esta diapositiva muestra que ambas tecnologías estarán en Ponte Vecchio, pero en realidad dice algo mucho más de lo que parece.

Una de las preguntas con EMIB y Foveros es en qué forma tomará. Hay muchas posibilidades para ambos, y esta diapositiva podría haber expuesto algunos. Tenga en cuenta que esta diapositiva solo muestra la mitad de un Ponte Vecchio, y quiero hacer un diagrama personalizado para usted, así que muestre lo que estoy viendo aquí.

Aquí me he expandido a un PVC completo, con 16 X chiplets e -HPC, 8 chips XeMF, y cada mitad del PVC tiene acceso a cuatro pilas HBM. Cada una de las pilas HBM está conectada a través de EMIB, junto con lo que creo que es un chip IO (tal vez construido en 14nm).

En la diapositiva oficial anterior, notará que el grupo de 8 chips Xe -HPC y cuatro chips Xe MF parecen estar en un paquete separado por completo, con un BGA unificado en otro nivel (el nivel medio) del paquete a continuación. Para ser honesto, esa diapositiva también parece que hay algunos chips en ese paquete intermedio, pero en este paquete intermedio también obtenemos las conexiones EMIB y lo que creo que es un chip de escala Xe MF para conexiones fuera de la GPU. El HBM2 y el chip IO parecen estar en un nivel inferior de empaque, lo que significa que tenemos tres niveles de empaque para esta GPU individual: ¡cuatro si incluye Foveros en cada uno de los chiplets Xe -HPC!

Ahora, normalmente cuando pensamos en empaques escalonados como este, esperamos que sea BGA en BGA. Podría haber una parte de este diseño que utiliza un intercalador. Si Intel estaba haciendo esto en TSMC, podría usar la palabra ‘CoWoS’ como parte de la tecnología de apilamiento que usan. Por el momento todo es un montón de conjeturas. Asumiendo que el diagrama es exacto.

He etiquetado cada uno de los chiplets Xe -HPC como Foveros, ya que creemos que son dos dados apilados. Una gran cantidad de comentarios sobre este apilamiento es la pregunta de qué hay exactamente en cada uno de los dos chipes apilados: ¿un IO y el otro computan, como en Lakefield, o es algo más? Una conclusión semi-razonable es que un dado podría ser caché, y el otro dado podría ser cómputo. Sin embargo, es importante tener en cuenta que las GPU tienden a tener caché local justo al lado del cálculo, de hecho, espero que ambos chipes en la pila de Foveros sean chipes de cómputo. Puede ser que uno sea para SIMD y el otro para SIMT, pero si los dos eran idénticos y modulares, entonces es mucho más fácil de fabricar.

Para aquellos de ustedes que se preguntan cuáles son esos soportes metálicos alrededor de cada uno de los chipes Xe -HPC, es probable que sean cuñas para ayudar a corregir las diferentes alturas de chips. Debo señalar que el dado dentro de la nave, el dado apilado Xe -HPC, es en realidad más pequeño en el diagrama que el dado Xe MF entre cada par de chiplets. Esto podría ser para todo el caché en los chipes Xe MF, o podría ser si están construidos en un nodo de proceso diferente.

Además, vale la pena señalar que con Ponte Vecchio, tenemos dos ‘rebanadas’. Según el diagrama, parece que cada segmento tiene puntos de conexión Xe MF adicionales, que podrían usarse para salir de la GPU, o así podrían conectarse más segmentos (hasta cuatro). Algo de eso podríamos abordar cuando miramos el sistema Aurora y el diseño propuesto por Intel de uno de los servidores.

Intel promete un par de otras características de PVC. El hardware no solo admitirá ECC y comprobaciones de paridad en todas las memorias y cachés, sino que también habrá características RAS de clase Xeon y algo llamado ‘reparación en el campo’. Más detalles por venir.

Además, una última palabra sobre el nombre: Ponte Vecchio. Intel tiene muchos lagos, calas, rápidos y otras cosas. Aparentemente, tener un nombre en clave que implique un lugar físico en realidad ayuda a abordar cualquier problema legal potencial sin tener que hacer la debida diligencia para un nombre de marketing adecuado. Raja Koduri dijo que lo eligió porque tiene su sede en Florencia, que tiene buen helado. Le gusta el helado, y si Intel decide hacer un evento de lanzamiento con Ponte Vecchio en mente, Raja obtiene su helado. Fui a Florencia hace un par de años, el helado estuvo bueno.

oneAPI: la solución de Intel al software

Tener el hardware está muy bien, pero el otro ángulo (y quizás el ángulo más importante) es el software. Intel desea señalar que antes de esta nueva iniciativa oneAPI, tenía más de 200 ángulos de software y proyectos en toda la compañía relacionados con el desarrollo de software. oneAPI está destinado a reunir todos esos ángulos y proyectos bajo un mismo techo, y proporcionar un único punto de entrada para que los desarrolladores accedan si están programando para CPU, GPU, AI o FPGA.

El lema ‘no se deja ningún transistor’ será una parte importante del espíritu de Intel aquí. Es un buen eslogan, incluso si parece un truco. También debe tenerse en cuenta que a este eslogan le falta una palabra clave: ‘no dejar ningún transistor Intel’. oneAPI no lo ayudará tanto con hardware que no sea Intel.

Esto suena algo demasiado bueno para ser verdad. No hay forma de que un solo punto de entrada pueda hacer todo a todos los desarrolladores, e Intel lo sabe. El objetivo de oneAPI se trata más de unificar la pila de software de modo que los programadores de alto nivel puedan hacer lo que hacen independientemente del hardware, y los programadores de bajo nivel que desean apuntar a un hardware específico y hacer micro optimizaciones en el nivel más bajo también pueden hacerlo.

Todo para oneAPI será conducido a través de la pila oneAPI. En la parte inferior de la pila está el hardware, y en la parte superior de la pila está la carga de trabajo del usuario, entre cinco áreas que Intel abordará.

El área subyacente que cubre el resto es la programación del sistema. Esto incluye la gestión del planificador, las comunicaciones entre pares, la gestión de dispositivos y memoria, pero también las herramientas de rastreo y depuración. El último de los cuales aparecerá en su propio contexto también.

Para los lenguajes de programación directa, Intel se apoya mucho en su estándar ‘Distributed Parallel C ++’, o DPC ++. Este será el idioma principal que animará a las personas a usar si desean un código portátil sobre todos los diferentes tipos de hardware que oneAPI cubrirá. DPC ++ es una mezcla intrínseca de C ++ y SYCL, con Intel a cargo de dónde va eso.

Pero no todos querrán volver a escribir su código en un nuevo paradigma de programación. Con ese fin, Intel también está trabajando para construir un compilador Fortran con OpenMP, un compilador estándar C ++ con OpenMP y una red de distribución de Python que también funciona con el resto de oneAPI.

Para cualquier persona con una carga de trabajo categóricamente popular, Intel lo dirigirá a su biblioteca de bibliotecas. La mayoría de estos usuarios habrán oído hablar antes, como la Intel Math Kernel Library (MKL) o las bibliotecas MPI. Lo que Intel está haciendo aquí es refactorizar sus bibliotecas más populares específicamente para oneAPI, por lo que todos los ganchos necesarios para los objetivos de hardware están presentes y contabilizados. Vale la pena señalar que es probable que estas bibliotecas, como sus contrapartes que no son oneAPI, se vendan en un modelo de licencia.

Un gran elemento para oneAPI serán las herramientas de migración. Intel ha hecho un gran negocio con lo que quieren poder soportar la traducción de CUDA al hardware de Intel. Si eso suena familiar, es porque Raja Koduri ya intentó hacerlo con HIP en AMD. La herramienta HIP funciona bien en algunos casos, aunque en casi todos los casos aún requiere un ajuste en el código para que algo en CUDA funcione en AMD. Cuando le preguntamos a Raja qué aprendió sobre las herramientas de conversión anteriores y qué lo hace diferente para Intel, Raja dijo que el problema es cuando el código escrito para una máquina de vectores anchos se traslada a una máquina de vectores más estrecha, que era el problema principal de AMD. Con Xe, la naturaleza del ancho de vector variable significa que oneAPI no debería tener tantos problemas para traducir CUDA a Xe en ese caso. El tiempo lo dirá, por razones obvias. Si Intel quiere ser grande en HPC, ese es el único truco que deberán ejecutar.

El último pilar interno de oneAPI son las herramientas de análisis y depuración. Los productos populares como vTune y Trace Analyzer recibirán la revisión oneAPI para que puedan integrarse más fácilmente para una variedad de rutas de hardware y código.

En la Intel HPC Developer Conference, Intel anunció que la primera versión de la versión beta pública ya está disponible. Las partes interesadas pueden comenzar a usarlo e Intel está interesado en recibir comentarios.

El otro ángulo de la estrategia oneAPI de Intel es apoyarlo con su plataforma DevCloud. Esto permite a los usuarios tener acceso a las herramientas oneAPI sin necesidad de hardware o instalación del software. Intel declaró que su objetivo es proporcionar una amplia variedad de hardware en DevCloud, de modo que los usuarios potenciales que estén interesados ​​en un hardware específico pero no estén seguros de qué funciona mejor para ellos podrán probarlo antes de tomar una decisión de compra. DevCloud con oneAPI beta también está ahora disponible.

La primera implementación de Xe -HPC: Aurora, con Xe Link

Si ha saltado a esta página final, vale la pena leer las últimas. Hemos cubierto en detalle lo que podemos derivar de las diapositivas de Intel sobre la arquitectura Xe , el nuevo paradigma de hardware Xe -HPC, la GPU Ponte Vecchio con todos los detalles que pudimos descubrir y la nueva estrategia de software. De lo que se habla en esta página es del importante despliegue comercial de Xe -HPC en una supercomputadora: Aurora. Si desea los detalles jugosos sobre el hardware, y lo que podríamos ver en el lado de los gráficos, lea las páginas anteriores.

Aurora: Exascale en los EE. UU.

Parte del anuncio en HPC DevCon fue sobre el primer despliegue de Ponte Vecchio, en la nueva supercomputadora Aurora para los Laboratorios Nacionales Argonne del Departamento de Energía de EEUU. Intel reveló que entregará Aurora en 2021, con dos nuevas CPU futuras y seis GPU por nodo.

Intel ha estado trabajando en el contrato de Aurora por un tiempo y el proyecto ha cambiado su alcance con el tiempo debido a cambios en el mercado y contratiempos de hardware. Inicialmente anunciado hace varios años como un proyecto de “entrega para 2020” entre Argonne, Cray e Intel, el hardware estaba diseñado para ser construido alrededor de la plataforma Xeon Phi de Intel, proporcionando una aceleración de alto rendimiento a través de las instrucciones AVX-512 de Intel y los Knights Hill de 10 nm. acelerador. Este anuncio se hizo antes de la reciente revolución en la aceleración de la inteligencia artificial, así como Intel posteriormente eliminó la plataforma Xeon Phi después de agregar AVX-512 a sus procesadores de servidor (con el último aliento Knights Mill recibiendo una vida útil muy breve). Intel tuvo que volver a la mesa de dibujo, y desde que Xeon Phi fue descartado, la audiencia de Intel ha estado cuestionando qué traerá a Aurora, y hasta hoy la compañía solo había dicho que se construiría a partir de una combinación de CPU Xeon y XeHPC GPU

Las dos CPU serán CPUs Xeon ‘Sapphire Rapids’, que si sigues el programa de lanzamiento de Intel, es la CPU después de la CPU después de la CPU después de la que está actualmente en el mercado. Va Skylake, Cascade Lake (actualmente fuera), Cooper Lake (2019/2020), Ice Lake (2H2020), Sapphire Rapids (2021). La promesa es que estas CPU estarán en 10nm, y a juzgar por el diagrama tendrá 8 canales de memoria (probablemente DDR5, pero no confirmado). Se prevé que Sapphire Rapids sea la primera CPU empresarial de Intel que admita el nuevo estándar CXL, lo que también significaría un mínimo de compatibilidad con PCIe 5.0.

Con las dos CPU hay seis GPU Ponte Vecchio. A juzgar por el diagrama, debe ser bastante obvio que estas no son tarjetas PCIe, sino que probablemente sean módulos OAM o SXM2, o lo que sea el estándar más nuevo en ese momento. Cada GPU podrá comunicarse directamente entre sí a través de CXL, que es un elemento interesante para la discusión. En estos diagramas hay un pequeño chip negro en el medio, que Intel anunció como su nuevo chip Xe Link.

Al igual que NVSwitch de NVIDIA, parece que el chip Xe Link está ahí para mediar las comunicaciones entre todas las GPU en un nodo, y por lo que Intel dice en esta diapositiva, también entre nodos. Parece que también administra la memoria unificada del sistema y, al igual que las GPU, está basada en CXL. Parte del anuncio en los enlaces entre las GPU es que debe ser un diseño integral, a pesar de que la imagen de arriba muestra algunas GPU que se comunican directamente entre sí y algunas solo a través del chip Link. Confirmamos que esta representación era inexacta.

Las CPU serán CPU Sapphire Rapids, la segunda generación de procesadores de servidor de 10 nm de Intel que vendrá después de los Ice Lake Xeons. El anuncio de hoy reafirmó que Sapphire Rapids es un procesador 2021; y probablemente un procesador de finales de 2021, ya que la compañía también confirmó que Ice Lake tendrá su rampa de volumen hasta fines de 2020. A juzgar por las imágenes de Intel, Sapphire Rapids está configurado para tener ocho canales de memoria por procesador, con suficiente E / S para conectarse a tres GPU Dentro de un nodo Aurora, dos de estas CPU Sapphire Rapids se emparejarán y admitirán la próxima generación de memoria persistente Intel Optane DC ( 2ª generación de Optane DCPMM). Ya sabemos por otras fuentes que es probable que Sapphire Rapids también sea DDR5, aunque no creo que Intel haya dicho eso directamente en este momento.

En el lado de la GPU, las seis GPU por nodo serán la nueva GPU Ponte Vecchio Xe de 7 nm de Intel.

Cada nodo Aurora tendrá 8 puntos finales de estructura, lo que ofrece muchas opciones de conectividad de topología. Y con el sistema construido en parte por Cray, la conexión de los sistemas será una versión de su arquitectura de red Slingshot, que también se está utilizando para las otras supercomputadoras estadounidenses de principios de la década de 2020. Intel ha declarado que Slingshot conectará ~ 200 bastidores para Aurora, con un total de 10 petabytes de memoria y 230 petabytes de almacenamiento.

Adivinando el rendimiento del Ponte Vecchio

Con esta información, si dividimos algunos números sobre el rendimiento, esto es lo que terminamos con:

• De acuerdo con el número de 200 bastidores de Intel
• Suponga que cada rack es un 42U estándar,
• Cada nodo Aurora es un 2U estándar,
• Sabemos que el sistema tiene 200 bastidores.
• Saque 6U por rack para redes y soporte,
• Saque 1/3 de los bastidores para almacenamiento y otros sistemas
• Obtenemos un valor redondeado de 2400 nodos Aurora totales (2394 basados ​​en suposiciones).

Esto significa que llegamos cerca de 5000 CPUs Sapphire Rapids y 15000 GPU Ponte Vecchio para toda Aurora. Ahora, al calcular el rendimiento total de una supercomputadora, el rendimiento de la CPU y el acelerador a menudo depende de la carga de trabajo requerida. Si Ponte Vecchio es realmente una GPU de clase exascale, entonces supongamos que las GPU están donde está el cálculo. Si dividimos 1 ExaFLOPs por 15000 unidades, estamos viendo 66.6 TeraFLOPs por GPU. Las GPU actuales funcionarán en la región de 14 TF en FP32, por lo que podríamos suponer que Intel está buscando un aumento de ~5x en el rendimiento por GPU para 2021/2022 para HPC. Por supuesto, esto no dice nada sobre el consumo de energía, y si tuviéramos que hacer las mismas matemáticas a 4U por nodo, entonces sería ~7500 GPU, y necesitaríamos 135 TF por GPU para alcanzar el exascale.

Entregando el hardware

A pesar de ser inicialmente un proyecto de ‘entregar para 2020’, Intel ahora dice que Aurora se entregará en 2021. Esto significa que Intel debe ejecutar lo siguiente:

• Fabricación a 10 ++ con rendimiento suficiente con respecto a núcleos / frecuencias
• Fabricación a 7 nm para chiplets, tanto en rendimiento como en frecuencias.
• Transición a través de DDR3 a DDR4 (¿y DDR5?) En ese período de tiempo
• Transición a través de PCIe 3.0 a PCIe 4.0 y PCIe 5.0 en ese período de tiempo
• Lanza y detalla su segunda generación de memoria persistente Optane DC
• Proporcione un SDK para lidiar con todo lo anterior.
• Enseñar a los investigadores a usarlo

En esos dos últimos puntos, Intel ha declarado que Ponte Vecchio y Aurora serán los principales beneficiarios del nuevo SDK OneAPI de la compañía. Esta iniciativa de la industria, encabezada por Intel, está diseñada para usar un lenguaje singular de arquitectura cruzada llamado ‘Data Parallel C ++’, basado en C ++ y SYCL, que puede extraer bibliotecas diseñadas para hablar con varios elementos de la cadena de hardware de Intel. La idea es que los diseños de software puedan escribir el código una vez, vincular las bibliotecas apropiadas y luego realizar una compilación cruzada para diferentes objetivos de hardware Intel. En el lenguaje de Intel, esta es la estrategia ‘xPU’, que abarca CPU, GPU, FPGA y otros aceleradores. Además de Argonne / Cray, Intel cita a Lenovo y Atos como socios clave en la estrategia OneAPI.

Para lograr una sola máquina exascale, necesita varias cosas. Primero está el hardware: cuanto mayor es el rendimiento de una sola unidad de hardware, menos necesita y menos infraestructura necesita. El segundo es la infraestructura, y poder soportar una máquina tan grande. En tercer lugar, está el problema correcto que no entra en conflicto con la Ley de Amdahl: algo que es tan vergonzosamente paralelo que puede extenderse por todo el hardware del sistema es el sueño de un científico de HPC. Finalmente necesitas dinero. Cubos de dinero.

En los últimos años, las principales supercomputadoras del mundo han abordado todos estos requisitos por orden de magnitud: el hardware es más rápido, la infraestructura está fácilmente disponible, los problemas tradicionales en serie se están rediseñando para que sean paralelos (o de menor precisión), y Los gobiernos están gastando más que nunca en supercomputadoras individuales. Una supercomputadora de $ 5 millones solía llevar a un grupo de investigación a los primeros puestos de la lista de los 500 principales. Ahora es más como $ 150 + millones. El líder actual, Summit, tenía un costo de construcción estimado de $ 200 millones. Y Aurora lo superará fácilmente, con el acuerdo valorado en más de $ 500 millones .

Cuando pregunté antes del anuncio si Argonne sería el primer cliente de Ponte Vecchio, el ejecutivo de Intel que encabezó la sesión de información evadió la pregunta respondiendo a la suya, diciendo ‘no estamos revelando otros clientes’. En todo mi tiempo como periodista, no creo que alguna vez haya tenido una pregunta sin respuesta y esquivada de esa manera. Lamentablemente no tuve oportunidad en la sesión abierta de preguntas y respuestas para hacer un seguimiento.

En última instancia, según lo que sabemos hasta ahora, Intel todavía tiene mucho trabajo por hacer para entregar esto en 2021. Puede ser el caso de que Aurora sea la culminación de todas sus tecnologías, y que Intel esté preparado para aprovechar la oportunidad para ayudar a suavizar cualquier problema que pueda surgir. En cualquier caso, algunas de estas tecnologías podrían no estar en manos del resto de nosotros hasta 2022.

Con suerte, cuando Aurora esté en funcionamiento, tendremos la oportunidad de echar un vistazo. Mira este espacio.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *