Blog Personal.

Uncategorized

¿Intel Xe HP con Tensor Cores? Eso parece

Por lo visto esto parece confirmarse…

Un Array Sistólico es un eufemismo para hablar de unidades «matriciales» o Tensoriales.

En todo caso, sabíamos que Intel iba a incluirlas en los Xe HPC pero no sabíamos como y ahora sabemos que va a ser dentro de cada EU/CU del Intel Xe de la misma manera que los Tensor de Nvidia.

Intel lo llama Matrix Engine en vez de llamarlos Tensor Cores como hace Nvidia, pero son lo mismo y se trata del mismo tipo de unidad.

¿Pero que es un array sistólico?

En arquitecturas informáticas paralelas, una matriz sistólica es una red homogénea de unidades de procesamiento de datos (DPU) fuertemente acopladas llamadas células o nodos. Cada nodo o DPU calcula independientemente un resultado parcial como una función de los datos recibidos de sus vecinos ascendentes, almacena el resultado dentro de sí mismo y lo pasa hacia abajo.

En un array convencional las ALUs no se comunican entre si directamente, necesitan enviar el dato a una memoria común y después rescatarlo, en un array sistólico las ALUs están directamente conectadas entre si, de tal manera que los datos e instrucciones pueden venir de la ALU anterior.

Es decir, en un array sistolico una ALU puede pasar el dato a las ALUs que tienen al lado en vez de escribirlo a los registros y de la misma manera que podemos conectar los arrays entre si en cadena podemos hacerlo también en matriz.

Por lo que es un tipo de organización de ALUs que se utiliza para solventar ciertos problemas de computación concretos. En el caso concreto de las unidades Tensor de Nvidia cada una de las ALUs no solo esta interconectada en malla sino que podemos acceder individualmente. Cuando un juego necesita operar en FP16 utiliza las ALUs del Tensor Core para ello pero en ese caso se comportan como unidades FP16 convencionales y por tanto leen y escriben de los registros.

Para que se utilizan los arrays sistolicos? Principalmente para todo aquello que tenga que ver con la convolución, como ahora…

  • Filtros de Imagen (Interpolación).
  • Búsqueda de patrones.
  • Correlación
  • Evaluación Polinómica
  • Transformaciones de Fourier

No es que estas cosas no se puedan realizar en un array no-sistólico, es que la unidad más rápida a la hora de ejecutar ciertas partes de ciertos algoritmos relacionados con la IA principalmente son los Arrays sistólicos que aceleran enormemente esas partes y con la irrupción del DLSS en su versión 2.0 por parte de Nvidia parece que van a ser una parte muy importante en el mercado del PC ya que las técnicas de reconstrucción de imagen por IA están ganando mucha fuerza en estos momentos, especialmente por ser al Caballo de Batalla diferencial de Nvidia e Intel al incluir este tipo de unidades se podría llegar a beneficiar de dichos algoritmos.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

0 0 vote
Article Rating
5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Snake128

No pasa nada para las rdna3 ya tendremos arrais sistólicos, habra que esperar a mas consolas pro para verlos en marcha, se sabe de si algun juego lo usa?

Es que me parece algo muy en el aire, no se…

Steven

Hola me la duda como hacen para no infringir patentes

isaac

Por lo de las patentes es que les ponen nombres distintos a las cosas, además de explicar sus funciones con trabalenguas

O por ejemplo Sony patento una pantalla «lamible», que no infringe la patente de las tactiles que tocas con los dedos

Set

Seria de analizar si Nvidia usa los Tensor Core para tareas fuera de IA en juegos. En realidad en juegos no se usa el FP16 de momento, solo en casos muy particulaes de Mix-precisión como en el Wolfenstein 2 para ciertas tareas de post-procesados, pero yo creo que usan la misma ALU FP32 subdividida en 2 para hacer FP16 y no los Tensor, los Tensor creo que sólo se puede utilizar al final de Frame. Por cierto Urian que opinas de los RT core, tiene la pinta, que los RT Core son unidades FP16 (512 ALU) por RTcore/SM, segun Nvidia… Read more »