Blog personal sobre tecnología

Disruptive Ludens

Especulación realista acerca de los specs de Switch 2

Nintendo Switch

Por fin tenemos información por parte de una fuente confiable respecto a Switch 2 y si, lo siento, me rehusó a llamarla Switch Pro. Nada de sujetos ignorantes glorificados en los foros de internet para crear una narrativa en los foros y las redes sociales que realmente no se sustenta en nada de nada.

Kopite Orin Switch 2

En primer lugar, ¿por qué es fiable? Por el hecho que Kopite7kimi hasta ahora ha ido filtrando de manera exacta y específica todas las especificaciones de las diferentes GPU de NVIDIA para PC con meses de antelación y con precisión quirúrgica. El problema es que muchos están ya malinterpretando su tweet, dado que la imagen que muestra es del chip T234 cuando el de Nintendo es el T239. E

La imagen que ha utilizado en el tweet corresponde al die del Tegra Orin que NVIDIA mostro hace unos meses y es importante remarcar este detalle antes que la gente se haga ilusiones con detalles como 12 núcleos Cortex-A78 o GPU de 2048 «núcleos» CUDA para la Switch 2, en concreto la imagen esta sacada de la siguiente diapositiva.

Tegra Orin SoC

Quedaos con la cifra de 200 Int8 TOPS como potencia de cálculo.

Como se puede ver, dicho SoC esta pensado para un sistema con 45 W de consumo. Switch en modo Dock consume 12.8 W y en modo portátil 9.8 W. Lo cual son consumos normales dado el tipo de dispositivo del que hablamos. En pocas palabras, no puedes poner un SoC de 45 W de consumo en un dispositivo tipo Switch y ya de entrada esto serviría ya para descartar este SoC como el de la Switch 2.

Si además hacemos zoom a la placa utilizada en la segunda diapositiva obtenemos esto:

Se pueden ver 8 chips de memoria LPDDR5 o LPDDR5X, lo cual nos indica que estamos ante un chip muy grande. Muy posiblemente al estilo de su antecesor, el Tegra Xavier, el cual mide 360 mm^2. ¿Cuánto mide el de Tegra X1 de Switch? 120 mm^2, el cual es una cifra estándar entre los SoC de dispositivos PostPC.

¿Cuál puede ser el T239 del que habla Kopite7Kimi? Pues esta claro que el T239 es el Orin-S que salió en el mapa de ruta de hace ya un par de años.

NVIDIA Orin

Lo de los 100 TOPS para Orin en vez de los 200 TOPS lo explicaré a continuación.

Ada Lovelace

En las GPU de NVIDIA, los cálculos con precisión de enteros de 8 bits son llevados por los Tensor Cores, estos tienen una capacidad de cálculo en FP16 que es 4 veces a la capacidad de cálculo en FP32, al menos en la arquitectura GeForce Ampere.

En cada SM de la arquitectura GeForce Ampere tenemos 4 sub-cores compuestos por las siguientes unidades:

  • 4 Unidades Load/Store-
  • 1 Unidad SFU, encargada de realizar instrucciones matemáticamente complejas como pueden ser potencias, raíces cuadradas, razones trigonométricas de cada tipo y logaritmos.
  • Un Array SIMD/SIMT de 16 ALUs FP32.
  • Un Array SIMD/SIMT de 16 ALUs FP32 y 16 ALUs Int32 conmutados
  • Un Tensor Core

La capacidad de cálculo de cada Tensor Core es de 128 operaciones por ciclo en modo denso y 256 operaciones en modo escaso. No voy a explicar lo que es el modo denso y el modo escaso, pero es el motivo por el cual NVIDIA ha pasado de hablar de 100 TOPS a hablar de 200 TOPS.

Ahora bien, el propio Kopite7Kimi hablo en su día que Orin no es Ampere, sino ADA en honor a Ada Lovelace, la siguiente arquitectura de NVIDIA.

¿El problema? NVIDIA llama a ADA «Ampere Next» en su mapa de ruta y es que apenas van a haber cambios de una arquitectura a otra, excepto en el detalle de los Tensor Cores.

Ampere Next

¿Cómo lo sabemos? Cojamos por ejemplo las especificaciones de la NVIDIA RTX 3070 Ti, la cual lleva en su interior una configuración de 48 SM, 3 veces más que el Tegra Orin de 45 W. ¿Su potencia de cálculo? Pues derivando de la siguiente diapositiva oficial estaríamos hablando de 348 TOPS para 48 SM.

De cara al cálculo con menos precisión, NVIDIA utiliza el SIMD sobre registro en cada una de las ALUs que forman parte de la matriz que es el Tensor Core, por lo que bajo precisión de 8 bits pueden realizar el doble de operaciones que bajo precisión de 16 bits.

Recordemos que las especificaciones del Tegra Orin hablan de 200 TOPS para 16 SM, lo cual significa que de cara al Tegra Orin, NVIDIA ha implementado un nuevo tipo de Tensor Core con mayor capacidad de cálculo que el que su arquitectura Ampere.

Si hacemos el cálculo a la inversa para obtener la velocidad de reloj del Tegra Orin con 100 TOPS:

(100*10^12)/(16*1024)= 6.103.515.625 Hz

Los 200 TOPS se traducen en 6.1 GHz, es imposible esa velocidad de reloj.  Por lo que la deducción lógica es que NVIDIA en ADA ha integrado un Tensor Core aún más potente.

Las unidades Tensor son lo que llamamos arrays sistólicos, se llaman así por el hecho que están conectados entre si en una matriz cada unidad de cálculo. En una unidad Tensor cada unidad de la matriz tiene su propia memoria local o registro y sus datos de entrada provienen de la unidad anterior. Es decir los datos son bombeados entre unidades y de ahí que sean llamados también arrays sistólicos.

Son sumamente útiles para realizar operaciones matriciales a una velocidades mucho más altas que las unidades SIMD. Pero en especial tiene su utilidad en las redes neurales convolucionales que se utilizan para el tratamiento de la imagen, donde trabajamos con vectores de tres dimensiones. Siendo una matriz un vector de dos dimensiones y un Tensor una de tres dimensiones.

Las redes neurales convolucionales se utilizan especialmente en la visión por computador, esta es la que se utiliza en algoritmos como:

  • Super-resolución vía IA
  • Denoising.
  • Tracking de manos  para la realidad virtual.

¿Entonces? Simplemente NVIDIA en Lovelace va a aumentar el tamaño de la matriz de ALUs que forma parte de cada Tensor Core. ¿Cómo? Pues NVIDIA habría duplicado en ambas dimensiones de la matriz la cantidad de ALUs en cada Tensor Core respecto a los RTX 30, por lo que estaríamos hablando de 4 veces la capacidad de cálculo en los Tensor Cores. Mientras que el resto del SM no se vería afectado.

Por lo que la velocidad de reloj del Tegra Orin con 100 TOPS en denso y 200 TOPS en escaso, el de 45 W de consumo, pasaría a ser de 1526 MHz aproximadamente, una cifra totalmente acorde con la realidad.

Desglosando a Orin-S

Bueno, esto ya es especulación pura y dura, pero la lógica es pensar que Orin-S tiene al menos la mitad de SM que Orin, con una menor velocidad de reloj, al menos en su modelo estándar, no dudéis que Nintendo la podría llegar a bajar aún más. En realidad en el modelo estándar de NVIDIA estaríamos hablando de 1098 MHz de velocidad para el Orin S.

Tegra X1 Tegra Orin-S (Especulación)
Velocidad de reloj (MHz) 768 1098
SM 4 8
ALUs FP32 x SM 64 128
TFLOPS (FP32) 0,393216 2,248704
Unidades de Textura 16 32
Tasa de texturizado 12288 35136
ROPS 16 32
Tasa de relleno 12288 35136
Unidades de rasterizado 1 2
Triangulos rasterizados/ciclo 768 2196

Una de las cosas que he observado en el diagrama del Orin que se ha visto al principio de esta entrada es el hecho que esta compuesto por dos GPC, de ahí a que en la tabla yo haya puesto lo de los 32 ROPS en vez de 16 y la cantidad de triángulos rasterizados se haya duplicado. Creo tener solo 16 ROPS y 1 solo rasterizador sería un enorme cuello de botella para una Switch de siguiente generación.

¿En que nivel de potencia estaría? Pues un poco por encima del nivel de una PlayStation 4 estándar.

¿Qué hay del resto del SoC?

En primer lugar pienso que Nintendo va a recortar la CPU de 12 núcleos a 8 núcleos, para portar juegos desde PS4 y Xbox One no se requiere mucho más y la gran mayoría de juegos del catálogo de Switch 2 serán ports desde dichas consolas que por motivos de falta de potencia no se han podido trasladar al nuevo sistema.

La otra parte esta en los aceleradores para visión por computador, NVIDIA no suele crear chips semi-custom poniendo y quitando piezas con configuraciones varias. Al igual que el X1 tiene piezas que Switch no utiliza, Tegra Orin-S las tiene, pero dichas unidades esta vez si que tendrán utilidad. ¿En que sentido? Pues al hecho que la visión por computador son muy útiles de cara a la Realidad Virtual y ya hemos visto unidades similares al NVDLA y al CVA de NVIDIA siendo utilizadas para el tracking para la realidad virtual.

Y si, pienso que la Killer App de Switch 2 será la Realidad Virtual, sinceramente esperaba que Facebook/Oculus supiese de videojuegos y mostrase algo en su presentación del E3 de 2021, pero sinceramente ha sido vomitiva. Solo hace falta que Nintendo sepa orientar alguna de sus franquicias de éxito a la VR para vender diez veces más y comerse dicho mercado sin problemas.