De un tiempo a esta parte existe el rumor de una GPU de AMD bajo el nombre en clave «Arcturus» que mucha gente hace unos meses decía que era la «Next Gen» después de Navi en su día, con el tiempo se acabo revelando que es una iteración de Vega.

Arcturus por lo visto tiene la particularidad de tener un VCN (Video Core Next) que codifica y descodifica vídeo en su versión 2.5, pues bien, esta versión del VCN es más avanzada que la que llevara AMD Renoir que es la 2.1.

Pero la GPU no parece tener en ningún momento el bloque del adaptador de pantalla por lo que no puede emitir señal de video y no se puede utilizar como tarjeta gráfica al uso. No solo eso, sino que parece que no «tiene» anillo correspondiendiente a la lista de pantalla para generar la escena.

Esto significa que es una GPU puramente para computación pero… ¿Si no puede generar gráficos y AMD puede poner y quitar los diferentes aceleradores? ¿A que viene que se encuentre el VCN 2.5? Es un sinsentido que sinceramente a primera vista es muy pero que muy confuso por el hecho que es una contradicción en si misma.

¿De que te sirve codificar el búfer de imagen de la GPU en un formato de vídeo si la GPU no genera gráficos? ¿De que te sirve descodificar vídeo si la GPU no tiene salida de vídeo?

Si la GPU fuese puramente para computación dicho acelerador no se encontraría disponible. Una respuesta posible es que estemos en una situación Hand-Down como ha ocurrido con las Mi50 y Mi60 con Radeon VII donde las primeras carecen de salida de video y las segundas del modo FP64 avanzado pero son el mismo chip, pero AMD existiendo RDNA en el mercado no va a hacer un hand-me down de Arcturus.

Pero lo sorprendente es esto:

Cuando vi los 128 CUs, lo primero en lo que pense fue que eso en GCN es imposible y que lo más seguro es que en realidad estábamos ante…

Pero si miramos más abajo en las replicas de Komachi, pues hay un detalle que hace pensar que estamos hablando de una sola GPU compuesta por 128 CUs en total y basada en Vega. Por lo visto Vega es mejor en «Computación», que es una afirmación que siempre he considerado yo venida del puro control de daños porque yo personalmente nunca he visto cual es el motivo por el cual es mejor en computación cuando el hardware es el mismo y las situaciones son las mismas. Las ALUs de los shaders que ejecutan los shaders gráficos son las mismas que ejecutan las de computación, un shader no deja de ser un programa informático, la diferencia es que el pipeline de computación y el gráfico es distinto y pasan por un proceso distinto.

Pipeline Gráfico
Pipeline de Computación

El pipeline de computación no utiliza por lo general las unidades de función fija de las GPUs, esto significa que unidades como:

  • Las unidades de rasterizado.
  • Las unidades de texturas
  • La unidad de teselación via función fija
  • Los Raster Outputs
  • Aceleradores como el adaptador de pantalla y los codecs por hardware de video.

No se utilizan en el pipeline para la computación… ¿Pero que es una gráfica para eso y sin esos componentes? Pues una TPU… No confundir con los Tensor Cores de Nvidia que son vulgares ALUs para el cálculo de matrices.

Una unidad de procesamiento tensorial o TPU (del inglés tensor processing unit) es un circuito integrado acelerador de IA desarrollado por Google específicamente para el aprendizaje automático.

En comparación con las unidades de procesamiento gráfico (que a partir de 2016 se usan con frecuencia para las mismas tareas), estas unidades están diseñadas implícitamente para un mayor volumen de cálculo de precisión reducida (por ejemplo, desde 8 bits de precisión) y carecen de hardware para la rasterización/cartografía de textura

Pero AMD no le ha quitado en ningún momento esas unidades a Arcturus por lo visto, sigue teniendo la funcionalidad como gráfica al completo, por lo que no estamos hablando de una TPU pura y dura por parte de AMD nacida de coger Vega en su versión de 7nm y hacer cuatro cambios. Esto hizo que estuviese, no mucho, rascandome la cabeza.

En primer lugar a AMD no le debería costar hacer con las unidades SIMD de RDNA lo mismo que hizo AMD con Vega 20. ¿El que? Pues utilizar el SIMD dentro de un registro pero partiendo de una SIMD8 de 64 bits, para ir subdividiendo las ALUs reduciendo la precisión pero aumentando la cantidad de operaciones/ciclo. La capacidad de subdivisión ya sabemos que estara en RDNA para futuras iteraciones de la arquitectura.

No tiene sentido que AMD tenga una arquitectura para la Computación de Alto rendimiento y otra para el Deep Learning, posición que tiene ahora con las variantes de Vega 20 en las Mi-50 y Mi-60, es un sinsentido enorme aumentar la variedad de hardware de esta manera, pero sobretodo es un sinsentido sabiendo que RDNA es muy superior a GCN. Eso si, sabemos que en el mapa de ruta hay una Mi-Next en el camino.

Por otro lado como he comentado antes, la versión del VCN es posterior a la que llevará Renoir por lo va a salir a posteriori… ¿Que sentido tiene continuar con Vega en 2020? Pues si lo pensamos bien…

¿Os acordáis cuando Navi antes de salir tenía que ser la enésima versión de GCN y al final no fue así?

Pe… pe… pero Urian… El código de Arcturus en el driver es GFX908, lo que indica que es una AMD Vega.

Mirad, me comere el cuervo cuando toque y no tengo problemas para ello pero díría que «Arcturus» va a acabar siendo la Big, big Navi, una GPU para gama ultra-alta con la que AMD se colocará a luchar contra Nvidia en la gama más alta de todas… ¿La Geforce 2080 Ti? No … ¿La 3080 Ti? Casi pero tampoco, parece que os olvidáis que no existe una TU100 en el mercado HPC con soporte FP64 y en ese aspecto es muy inferior a Volta (GV100). Y es que la Tesla con el chip GV100 tiene ya unos años y pronto Nvidia la reemplazará, pues bien, creo que AMD va a ir a por ese mercado con Arcturus, el mercado HPC compuesto por tarjetas para computación de alto rendimiento pero sin capacidad para mostrar gráficos, como las Tesla de Nvidia, obviamente con una configuración de 64 WGP/128 CUs el chip será enorme pero es normal en dicho mercado y es posible que al igual que ocurrió de las Mi-50 a las Mi-60 veamos una versión para la gama alta derivada, posiblemente para competir contra una eventual GeDorce «Ampere» Titan donde se sacrificaría el soporte FP64 y se recuperaría la capacidad de mostrar gráficos que no tendría la «Arcturus».

Esto es todo, como siempre tenéis el Discord y los comentarios de la misma entrada para comentar el contenido de la misma.