La verdad que nadie cuenta acerca de NVIDIA Grace

NVIDIA Grace Doble CPU

Hay una escena muy famosa de Star Trek: la última frontera en el que una entidad extraterrestre que se hace pasar por Dios pide una nave especial, lo que hace que el Capitán Kirk cuestione su falsa identidad al preguntar por algo que la entidad si fuese quien dice ser podría hacer fácilmente. Pues bien, con NVIDIA y su necesidad de hacer una CPU propia ocurre lo mismo. ¿A qué viene NVIDIA Grace y por qué necesitan tal procesador?

Uno de los mundos en cuanto a procesadores que más están creciendo en los últimos años es el de los procesadores ARM para servidores del tipo centro de datos. No en vano, se trata del próximo mercado que se quiere conquistar con el conjunto de registro de instrucciones ARM, donde en su novena revisión oficial, ARMv9, se han añadido cambios más orientados a dicho mercado que no a los clásicos dispositivos donde han estado hasta ahora.

La proliferación de ARM en HPC

Así pues, podemos encontrar procesadores, que si bien no vamos a poder comprar en nuestra tienda de informática, si que están disponibles para quienes quieran montar un centro de datos basados en ellos. Podemos encontrar los siguientes casos:

  • El Fujitsu A64FX
  • El procesador de Nuvia, una empresa emergente creada por ex-ingenieros de Apple que fue adquirida a finales del año pasado por Qualcomm.
  • Ampere Altra.
  • ARM Neoverse.
  • Alibaba, propietaria de AliExpress, tiene desarrollada su propio procesador.
  • NVIDIA Grace, que será como dicha empresa entrará en dicho mercado.

No incluyo a Apple por el hecho que pese a utilizar la arquitectura ARM la están aprovechando para productos para el mercado de consumo, que si, que su M1 Ultra es una burrada, pero no se ha diseñado para el mercado de servidores y, por tanto, para la computación de alto rendimiento.

No olvidemos de que x86 persiste en PC por la dependencia que tiene todo el software de dicha ISA, en cambio, en el mercado HPC esto no ocurre. Lo que les permite moverse a conjuntos de registros e instrucciones distintos. Lo que ha permitido que ARM pueda colocarse tranquilamente en dicho mercado

NVIDIA está en la cuerda floja

No hay duda de que Jen Hsun Huang con toda la verborrea en sus presentaciones es un fantasma de cuidado. Todo el mundo con conocimiento sabe que el motivo por el cual NVIDIA quiso comprar ARM fue para suplir una serie de carencias en recursos y procesos de las que carece la propia NVIDIA. ¿Cuál? Pues la más lógica, no saben hacer CPU o mejor dicho, sus procesadores con ISA ARM no pueden licenciarlos a terceros y se los tienen que comer ellos.

Jensen Huang CEO NVIDIA

Una empresa se puede definir por los recursos que tiene, lo que sabe hacer y en que dirección se quiere mover. Estos tres parámetros son diferentes para cada una de ellas. Si nos centramos en Intel, AMD y NVIDIA, entonces veremos que AMD tiene al Radeon Technology Group para hacer sus GPU, Intel ha avanzado en la creación de su propia arquitectura gráfica. ¿Y qué hay de NVIDIA? No tienen ni los recursos ni los procesos para hacer una CPU.

Es decir, tanto Intel como AMD se encuentran ahora mismo en una posición donde pueden ofrecer una solución completa de CPU y GPU, dándole la patada a NVIDIA del mercado de la computación de alto rendimiento.

Las obsesiones del chaquetas

Jen Hsun Huang está ampliamente obsesionado en vender a su compañía como una que se encarga de hacer cosas serias y no tarjetas gráficas de alto rendimiento. No hay más que ver cada una de sus aburridas GTC donde intentan vender esa imagen. ¿La realidad? Lo que les da dinero a son sus GeForce para PC y el chip central de la Nintendo Switch. No os extrañe ver una simple nota de prensa o un anuncio cuando la sucesora de esta última aparezca en el mercado.

Tal es el complejo, que NVIDIA el año pasado hizo mucho ruido en cuanto a sus tarjetas gráficas para minería. Un mercado con el que querían asociar su nombre solo por el hecho que no tiene nada que ver con el lúdico. ¿Su intento? Pues les ha salido peor de lo esperado.

Nvidia también presentó sus tarjetas CMP específicamente para mineros cuando presentó sus RTX 30 LHR, por lo que al menos se puede rastrear esos números. Sin embargo, Nvidia dice que «solo» vendió $ 266 millones en sus tarjetas CMP, que es inferior a los $ 400 millones que esperaba ganar en el período.

El motivo por el cual NVIDIA busca otros mercados es por el hecho que ellos buscan uno en el que lo que paga el usuario por chip sea mucho mayor que lo que se paga en el de las tarjetas gráficas. Su tendencia ha sido ir subiendo los precios y hablar de sus oportunidades fuera del gaming. El día que encuentren la piedra filosofal o el Santo Grial que les permita entrar en un mercado con mayores beneficios que el de hacer hardware para mover los gráficos de los videojuegos, ese día NVIDIA volará.

La fanfarronada de Jen Hsun Huang por lo de ARM

El control de daños por parte de NVIDIA al no poder comprar ARM es cuanto menos digno de enmarcar, cualquiera con dos dedos de frente sabe muy bien lo que Huang dice con las siguientes palabras:

(En cuanto al) beneficio neto, por supuesto, de que estoy decepcionado de que no lo hayamos logrado, pero el resultado es que construimos relaciones maravillosas con todo el equipo de administración de ARM. Comprendieron la visión que nuestra empresa tiene para el futuro de la informática de alto rendimiento. Están entusiasmados con eso. Naturalmente, eso provocó que la hoja de ruta de ARM se volviera mucho más agresiva en la dirección de la informática de alto rendimiento, donde necesitamos que esté. El resultado neto es un liderazgo inspirado para el futuro de la informática de alto rendimiento en una dirección que es importante para Nvidia. Y también es genial para ARM, porque ahí es donde están las próximas oportunidades.

La fanfarronada de Huang, es decir, que ARM ha dado el salto a servidores por la influencia de NVIDIA. El problema es que a día de hoy si miramos el mercado de computación de alto rendimiento en realidad no les vemos por ninguna parte. El resto de procesadores son una realidad, ¿pero ellos? Ah, sí, tienen desarrollada una cosa llamada Grace, es cierto, pero que hay que desmitificar por completo, ya que su existencia convierte las palabras del propio Huang en un enorme farol.

NVIDIA Grace

Cuando NVIDIA hablo de Grace por primera vez esperaba algo con la capacidad de competir núcleo por núcleo con lo que está haciendo Apple, en cambio, nos hemos encontrado con un sistema con la friolera de 72 núcleos y en un diseño monolítico. Si tenemos en cuenta que por temas de tamaño y viabilidad de la fabricación, tanto Intel como AMD han tenido que dividir sus chips en varios más pequeños. ¿Qué es lo que me dice esto del procesador NVIDIA Grace? Pues que cada uno de esos 72 núcleos es mucho menos potente por sí mismo que cualquiera de los núcleos que puedan tener Intel o AMD.

NVIDIA Grace Hopper

¿Acaso la potencia combinada no es mucho más alta? Desde NVIDIA afirman que en benchmark SPECrate 2017 este es 1.5 veces más rápido que el AMD EPYC Rome, basado en Zen 2, de 64 núcleos, y con una eficiencia energética que duplica a las CPU de su mismo tipo para cuando sea lanzada en 2023. ¿La trampa de NVIDIA? Comparar un nuevo procesador fabricado bajo el nodo de 4 nm de TSMC frente a uno ya veterano bajo el nodo de 7 nm de TSMC. Si AMD hubiese tenido disponible el mismo nodo que NVIDIA con Grace, obviamente sí que hubiese podido crear el EPYC Rome de una pieza.

¿La realidad? Cuando NVIDIA se ponga a vender Grace, ya existirán los EPYC Genoa basados en Zen 4. NVIDIA no puede vender su procesador por rendimiento. Es más, todo apunta a que en igualdad de núcleos ARM otras soluciones tienen una mayor potencia por núcleo. ¿Cómo lo sé? Por el hecho que han decidido huir de comparativas directas con otros procesadores ARM y por la vieja confiable del rendimiento por vatio.

Se trata de un procesador de nicho

Eso si, Grace es un caso especial, que no corresponde con dicha descripción, la propia NVIDIA repite que es un producto de nicho. Y no lo digo yo, sino la propia NVIDIA. ¿Dónde? En la nota de prensa oficial sobre dicho procesador:

Grace Procesador Nicho

Este párrafo de la nota de prensa es revelador, NVIDIA Grace está pensado para funcionar en tándem con su GPU NVIDIA Hopper en sus sistemas DGX. Lo cual es una gama de estaciones de trabajo y servidores que solo vende la propia NVIDIA y están pensados para el desarrollo de nuevos algoritmos en inteligencia artificial. De ahí lo de que buscan suplir un nicho de la computación.

¿Cómo es la arquitectura de NVIDIA Grace?

Desde NVIDIA no han dicho absolutamente nada, pero solo hay que ver la disposición de los diferentes núcleos para hacernos una idea de la interconexión que tienen estos dentro del chip y descubrir el motivo por el cual han podido colocar 72 núcleos, 144 en su configuración dual, dentro del chip.

Se trata de una red en un chip o NoC

Uno de los mayores problemas a la hora de hacer un sistema con varios núcleos es la interconexión. Lo más fácil sobre el papel es hacer que estos se interconecten entre sí. Lo cual solo funciona con 4 o menos núcleos. A partir de un sistema de 8 núcleos se tiene que tirar de soluciones como un sistema en anillo con tal de reducir su complejidad. Sin embargo, ya con cifras de decenas de núcleos es necesario el uso de lo que llamamos un NoC con tal de hacer viable la intercomunicación sin que esta se coma buena parte del chip.

Organización NoC

La idea de los NoC es sencilla, lo que hacemos es colocar un pequeño procesador de red en cada procesador y un enrutador para simular el funcionamiento de una red de ordenadores. La diferencia es que esta vez con los diferentes núcleos los que se comunican entre ellos. Pensad en cada procesador como una persona que tiene un teléfono y que el resto en el grupo tiene su número. Si se quieren mandar mensajes solo tendrán que usar el número del destinatario. Pues aquí es justamente lo mismo, pero aplicado a nivel de procesador.

AMD Xilnx ACAP

Los NoC para funcionar necesitan que el centro del procesador sea un procesador de red, la forma en la que empresas como Intel/Altera y AMD/Xilinx lo han hecho hasta el momento ha sido colocando un FPGA empotrado en centro del chip que configuran como una controladora de red capaz de gestionar las decenas de peticiones e intercomunicar los diferentes núcleos entre sí. Esto los libera de tener que gestionar los envíos. Sin embargo, el diseño de NVIDIA es totalmente distinto y no tiene nada que ver con eso.

No es más que una red neural gigantesca

Claro está que si miramos el chip de NVIDIA veremos que la organización de los núcleos es distinta, no parece que estén interconectados a una controladora de red central. Si no directamente en mallá.

NVIDIA RC18

¿No os recuerda esto a algo? Pues a algo que ya presentaron hace unos años que llamaron RC18. Aunque el concepto es distinto, me gustaría que os fijarais en la forma en la que están organizados los diferentes núcleos en ambos diseños.

NVIDIA RC18

Si os fijáis, la distribución de los núcleos es la misma que podemos ver en Grace, es decir, en malla. Y es que el objetivo no es otro que el de hacer una red neural de enorme tamaño. No lo digo yo, lo dijo NVIDIA en su día.

NVIDIA RC18 DNN gigante

Por lo que el objetivo es construir un array sistólico, lo cual es un conjunto de procesadores, pero que en vez de compartir un pozo de registros generales en común solo hay dos de ellos que tienen acceso a dicha memoria externa. Cada uno de los núcleos de la cadena recibe los datos del anterior procesador y los pasa al siguiente. De ahí el nombre de sistólico, ya que bombea al procesador que tiene al lado.

Su organización puede ser en una o dos dimensiones y son la arquitectura que define a los procesadores especializados para los algoritmos de aprendizaje profundo. De ahí a que Grace sea para un nicho y no se trate de un procesador que haya sido diseñado para competir en otros mercados. Lo cual convierte en absurdas las afirmaciones de NVIDIA de compararlo con los AMD EPYC.

NVIDIA Grace no usa núcleos propios, sino Neoverse

En todo caso, Grace no es una evolución del RC18 pese a que comparte la distribución de sus núcleos. Es más, no requiere del uso del GRS al no estar los diferentes núcleos separados entre sí en diferentes chips y se basa en núcleos ARM de propósito general y no RISC-V altamente especializados.

NVIDIA Grace Neoverse

En concreto se habla los Neoverse de próxima generación de la propia ARM. Esto es importante por el hecho que se puede decir que NVIDIA carece de la capacidad de realizar un núcleo con dicho set de registro e instrucciones que compita frente a empresas como Qualcomm (NUVIA) y Apple. Dicho de otra manera, técnicamente se puede decir que NVIDIA Grace no es en su mayor parte un desarrollo que desde el primer al último transistor haya sido diseñado dentro la empresa de Jen Hsun Huang. Lo que disuelve todavía más el hito de NVIDIA y pone en perspectiva a Grace.

Quien piense que NVIDIA va a entrar en el mercado HPC para competir con el resto está muy equivocado y no digamos ya en el mercado de los procesadores para estaciones de trabajo y PC. Esto pone en perspectiva la necesidad de Jen Hsun Huang de comprar a ARM y el duro golpe que les ha supuesto no conseguirlo.

Entradas relacionadas