NVIDIA Turing y las tecnologias de las GeForce RTX 20 Serie

La arquitectura Turing hace casi un mes que fue presentada, con ella NVIDIA presento las nuevas RTX 2080 Ti, RTX 2080 y RTX 2070. No es hasta este mismo momento que NVIDIA nos deja de primera mano contaros más de lo que se vio en la conferencia realizada en la Gamescon. Como os comentamos en un artículo sobre la nueva tecnología Ray Tracing, NVIDIA no había mostrado todo sobre su nueva arquitectura Turing.

Pero llego el momento y hoy en este articulo os vamos a contar con más detalle sobre la arquitectura que nos traerán las NVIDIA GeForce RTX 20 Serie. Una serie de tarjetas gráficas que gracias a sus nuevas mejoras tecnológicas, espera revolucionar el mundo de los videojuegos.

TU102: La GPU más potente de todas

Si vamos a hablar de la nueva arquitectura NVIDIA Turing, nos toca hablar del chip más potente, el TU102. Y es que estamos ante una arquitectura que no solo nos ofrece mayor potencia. Turing es un cambio de concepción de cómo es una GPU NVIDIA y de que nos puede ofrecer. Un salto bastante parecido al ocurrido hace años en la transición de la arquitectura Kepler a Maxwell.

Comparando los chips más potentes de Pascal y de Turing, es una gran manera para notar los primeros cambios. Obviamente los chips comparados son el GP102 de la GTX 1080 Ti y el TU102 de la RTX 2080 Ti.

Lo primero que nos daremos cuenta al ver fotos o tener una RTX 2080 Ti es el tamaño del chip. Y es que la GPU TU102 ha aumentado de tamaño, midiendo exactamente 754mm2, frente a los 471mm2 de la GP102. Este aumento de tamaño no es negativo, ya que lo realmente importante es el tamaño de fabricación de los transistores.

La evolución tecnológica se centra en la reducción de los componentes, por ello el proceso de manufacturado ha cambiado también. En Pascal nos encontrábamos con un proceso de fabricación de 16nm, pero en Turing se pasa a los 12nm FinFET. La reducción del proceso de fabricación suele provocar normalmente una mejora en la eficiencia energética y en rendimiento por transistor.

En este caso, el chip TU102 reduce su proceso de fabricación a 12nm FFN, pero aumenta el tamaño del DIE. Este provoca que en su interior entren mas transistores, al ser mayor el espacio y también por ser mas pequeños. La combinación nos ofrece pasar de los 12 billones de transistores del GP102, a los 18.6 billones en TU102.

En el interior de TU102

Conociendo la parte más externa de la GPU TU102 y sabiendo cómo ha evolucionado toca mirar en el interior. Porque lo importante esta en el interior, os contamos que componentes mejoran y cuales se estrenan con Turing.

Si continuamos con la diferencias de cara a Pascal, encontraremos 2 componentes principales nuevos. Uno de ellos son los Tensor Cores, orientados a resolver cálculos orientados en IA, ya conocidos en Volta. Y la otra novedad son los RT Core, cuya función sirve para la nueva tecnología Ray Tracing sea posible. Más adelante en el artículo desarrollaremos más concretamente los RT Core y los Tensor Cores.

EL chip TU102 está compuesto por 6 Graphics Processing Clusters (GPCs), 36 TPCs y 72 Streaming Multiprocessors (SM). Cada GPC está formado por un raster engine dedicado y 6 TPC, teniendo cada TPC 2 SMs. Dentro de los SM están los conocidos CUDA cores, teniendo en cada SM un total de 64 CUDA Cores. Además de los CUDA, los SM tienen también 8 Tensor Cores, un archivo de registro de 256KB para 4 TU (Texture Units) y otros 96KB de memoria L1.

Siendo estas las prestaciones totales de la GPU TU102:

  • 4,698 CUDA Cores
  • 72 RT Cores
  • 576 Tensor Cores
  • 288 Tus
  • 12 controladores de memoria de 32-bit GDDR6 (384-bits en total)

Cada controlador de memoria de la TU102 tiene 8 ROP y 512KB de L2 cache. Dando un total de 96 ROP.

Los SM de la arquitectura Turing

La arquitectura Turing introduce un nuevo diseño en su SM, ofreciendo varias características de la Volta GV100. Dos SMs son incluidos por TPC y cada SM tiene un total de 64 FP3 Cores y 65 INT32 Cores. Comparándolo como las GPU Pascal, estas tienen un solo SM por TPC y 128 FP32 Cores por SM. En cada SM de Turing, se encuentran 8 Turing Tensor Cores y 1 RT Core.

El SM de Turing esta particionado en 4 bloques de procesamiento, contando cada un con 16 FP32 Cores, 16 INT32 Cores, 2 Tensor Cores . Cada bloque incluye una nueva instrucción L1 cache con 64KB. Los 4 bloques comparte una combinación de 96KB de memoria cache L1. La carga de trabajo puede dividir estos 96KB en 32KB y en 64KB L1 cache o en 64KB de memoria y 32KB L1 cache.

Turing implementa un mejora renovada en la ejecución del núcleo en las operaciones aritméticas. La carga de trabajo actuales con shader, normalmente tiene un mix de instrucciones aritméticas FP, como son FAAD or FMAD, con instrucciones simples resueltas mediante coma flotante. En arquitecturas anteriores,  la  instrucción aritmética se mantenía en idle mientras la ejecución por FP funcionaba. Ahora con Turing se pueden realizar ambas instrucciones en paralelo en cada uno de los CUDA Cores.

Los Tensor Cores de Turing

Como comentábamos antes, uno de los nuevos navegantes de cara a un chip que estará en gráficas de videojuegos. Ya los Tensor Cores ya existía en la arquitectura Volta, más precisamente en la GPU GV100. Pero estamos a unos Tensor Cores mejorados frentes a los que ofrecía Volta. Esta mejora es la aparición de nuevos modos de precisión INT8 y INT4 para cargas de trabajo de deducción.

Como concepto simple, los Tensor Cores es la entrada de aplicar la inteligencia artificial en el mundo de los videojuegos. Haciendo posible aplicar “deep learning” en tiempo real por primera vez en los videojuegos. Ya que los Tensor Cores cuenta con la base de IAs de los servicios neuronales de NVIDIA NGX. Tecnologías como DLSS, AI Slow-Mo, pertenecen a este servicio y en este mismo artículo más adelante serán desarrolladas.

Los Turing Tensor Cores aceleran la multiplicación matricial en el centro de la red neuronal de entrenamiento y de funciones de deducción en una IA. El poder de los Tensor Cores, es poder acceder a la información de una IA entrenada, la cual almacena diferentes respuestas o posibilidades según estudio. Entonces los Tensor Cores, busca la respuesta que mejor haya deducido la IA.

En Turing TU102, cuenta con 576 Tensor Cores,  cada uno de ellos ofrece un rendimiento de 64 FP usando operaciones de entrada de FP16. Ofreciendo en total 1040 FP por ciclo en total de los 576 Tensor Cores en FP16. Gracias al nuevo modo de trabajo de precisión INT8, ofrece el doble de operaciones por ciclo. Los nuevos Turing Tensor Cores ofrece un aumento signifícate de rendimiento en las operaciones matriciales respecto  a Volta.

Tambien el SM de Turing introduce un nuevo subsistema de memoria. Este nuevo sistema permite a la memoria L1 cache incrementar su ancho de banda 2x por cada TPC frente a Pascal. Con estos cambios Turing ofrece un 50% de mejora en el ancho de banda de su memoria.

La memoria de Turing

Toda la  información que procesa la arquitectura Turing tiene que ser procesada los mejor y rápidamente posible. Por ello el ecosistema de la memoria en Turing, claramente se ha tenido que mejorar para estar a la altura. Para mejorar el ancho de banda que mueve la memoria en Turing, se han aplicado y mejorado estas tecnologías.

  • Memoria GDDR6: La arquitectura Turing será la primera en contar con esta memoria VRAM. GDDR6 ofrece una gran mejora en el ancho de banda en las memorias DRAM. En Turing GDDR6 ha sido rediseñada para ofrecer mayores velocidades, eficiencia energética y reducción de ruido. La interfaz ha sido diseñada para minimizar el ruido, la temperatura y el suministro del voltaje. Pudiéndose ajustar las velocidades del ciclo, permitiendo así consumir menos en clocks reducidos. Respecto a su antecesora la GDDR5X, ofrece una velocidad de 14Gbps y un 20% de eficiencia energética.
  • L2 Cache y ROPs: Las GPUs Turing añade una mayor y más rápida memoria L2 cache. La TU102 tendrá 6MB de L2 cache, siendo el doble que el chip GP102 en la TITAN Xp. La GPU TU102 cuenta con un total de 96 ROPs.
  • Compresión de memoria: Ademas de mejorar el ancho de banda, se reduce el peso de los datos que la memoria tiene que transportar. Gracias a nuevos algoritmos la información se consigue comprimir de mejor manera y por tanto aligera el peso y la carga que estas producen

Las  mejoras en el subsistema de la memoria y la nueva compresión en Turing, mejora su ancho de banda. Haciendo una aproximación el ancho de banda de la RTX 2080 Ti mejorando un 50% frente a la GTX 1080 Ti.

Las nuevas resoluciones de video

Aunque actualmente, mucho de los usuarios que nos leen siguen aun en la resolución 1080p, el sector audiovisual ha avanzado. La resolución 4K UHD es la resolución que comienza a imponerse poco a poco con nuevo contenido visual. El mundo del cine, algunos canales de TV y el mundo de los videojuegos, ya está siendo posicionado el 4K. Turing tendrá mucho que ver en el mundo de los videojuegos, ya que es la generación que promete el 4K 60frames.

La resolución 4K podemos decir que es el presente de las resoluciones, aunque le esta costando imponerse. El 8K a algunos les parecerá una odisea, pero ya comienza haber demanda de esta resolución y por tanto Turing tiene que ofrecer compatibilidad con ella.

Para alcanzar la resolución 8K, Turing está diseñado para poder ofrecer esta nueva resolución, además imagen con frecuencias de refrescos altas y HDR. Por ello Turing soporta la nueva interfaz DisplayPort 1.4, ofreciendo compatibilidad en resoluciones de hasta 8K a 60Hz. Contando con 2 conectores DisplayPort 1.4 Turing puede ofrecer 2 señales a 8K.

NVIDIA Turing y la VR

Tras la reaparición de la realidad virtual en los últimos años, estamos ante una tecnología que comienza adaptarse. Las gafas de VR actuales cuentan con un gran problema, es la cantidad de cables que necesitan para usarse. Esta cantidad de cables necesarios para poder usar unas gafas VR, provocan que se pierda inmersión con ellas. Este exceso de cables produce incomodez a la hora de usarlo y es de los puntos más negativos de esta tecnología.

La solución más practica y la cual se está desarrollando, es una opción  inalámbrica, pero aun está siendo desarrollada y costara implementarse. Por ello Turing incorpora la nueva tecnología VirtualLink, la cual nos ayudara a mejora la experiencia. VirtualLink es un nuevo estándar para el software y lentes de las nuevas gafas de VR.

Gracias a VirtuaLink, todas las conexiones de datos y video que teníamos que realizar con varios cables, se reduce a 1. Con el conector USB-C podremos conectar nuestro PC y gafas de VR solo por un solo cable. Esto se consigue ya que VirtualLink soporta hasta 3 líneas HBR3 y la línea SuperSpeed USB 3.0 para el tracker.

NVLINK mejora el sistema SLI

Las graficas Turing con el chip TU102 y TU104, usan la nueva tecnología NVLink, un nuevo sistema de NVIDIA SLI. Este nuevo SLI funciona  conectando varias gráficas entre sí, transfiriendo sus datos mediante las interfaces PCIe y MIO simultáneamente. Esto permite ofrecer resoluciones superiores como la 8K Surround.

Las gráficas con TU102, traen dos enlaces x8 de la segunda generación de NVLink y las GPU TU104 traen solo un conector. Cada uno de estos enlaces ofrece un máximo de 25 GB/s de ancho de banda por dirección entre 2 graficas. Entre 2 GPUs se pasarían 100 GB/s de datos al mismo tiempo, siendo 2 el máximo de gráficas soportadas. Ofreciendo así mayor ancho de banda que el usado en Pascal.

La tecnología Ray Tracing en Turing

Ray Tracing, es la tecnología que NVIDIA mas ha publicitado y tendrá más importancia tiene de las GPUs Turing. Ya que esta tecnología que redefine la iluminación en los escenarios de los videojuegos, prometiendo ser parte de una revolución. La tecnología ray tracing en Turing, puede renderizar reflejos físicamente correctos, refracciones, sombras y luz indirecta en tiempo real.

En GPUs anteriores, el rendimiento no permitía usar ray tracing en juegos o aplicaciones en tiempo real con sola una GPU. La iluminación realista se ha conseguido durante años gracias a NVIDIA Iray y OptiX, pero no en tiempo real. La arquitectura Volta conseguía renderizar películas con calidad  en iluminación, pero tampoco en tiempo real con tan sola una GPU. La llegada del ray tracing en el mundo de los videojuegos no se podía llevar a cabo por la gran carga de renderizado que ello conlleva.

Para llegar al ray tracing de Turing, NVIDIA ha estado desarrollando durante 10 años en diseños de GPU y equipos de software. Con la llegada de los RT Cores en las GPU Turing, la aceleración de ray tracing se puede llevar acabo contando con sola una GPU.

La iluminación ray tracing en tiempo real consume mucho, pero se ha conseguido al crear un renderizado hibrido. Utilizando tanto la rasterización como ray tracing. La rasterización se usa cuando el resultado es más efectivo y ray tracing cuando el aspecto visual es mejor.

Un ejemplo de esto es como el equipo SEED perteneciente a EA, está desarrollando su proyecto Pica Pica. Utilizando la rasterización para determinar la visibilidad de los objetos mas rápidos, que el ray cast inicial de ray tracing. Pero de manera secundaria, se aplica ray tracing, ofreciendo asi mejor calidad en reflejos, refracciones y sombras. Por lo que ray tracing puede llegar a ser usado sutilmente, ofreciendo menos carga gráfica. Aunque mientras más se utilice ray tracing mejor calidad ofrecerá el producto.

La tecnología Turing ray tracing por hardware funciona gracias a las tecnologías RTX de NVIDIA, a las librerías en tiempo real de NVIDIA, NVIDIA OptiX, la API de Microsoft DXR y próximamente en Vulkan Ray tracing API.

 

La tecnología NVIDIA NGX

NVIDIA NGX es la nueva tecnología de apilación basada en deep learning, perteneciente a las tecnologías NVIDIA RTX. NGX (Neural Graphics Acceleration) utiliza las redes neuronales y los servicios neuronales con los que actúa una AI y permitiendo así realizar funciones de mejoras graficas, renderizado u otro tipo de aplicación que pida el cliente. NGX utiliza los Turing Tensor Cores realizar operaciones basadas en deep learning y acelerar el desarrollo de NVIDIA.

La API de NGX ofrece acceso a varias características de IA para juegos y aplicaciones. Dichas IA han sido pre-entrenadas por NVIDIA para estar listas en su funcionamiento. El servicio NGX funciona en la GPU, permitiendo así utilizar varias características simultáneamente. Estas características de NGX podrán ser controladas desde el software NVIDIA GeForce Experience y en NVIDIA Quadro Experience. Una vez que uno de estos software detecten una gráficas Turing se descargara e instalara el paquete NGX.

Para entender mejor como el mundo de la IA y el deep learning afecta a los videojuegos, os comentamos varias de las características ofrecidas por NGX.

Deep Learning Super-Samping (DLSS)

Los juegos actuales, con el nivel de detalle gráfico, no renderizan los frames y se muestran directamente en el monitor. Para que se vea mejor la imagen cada frame pasa un post proceso, para mejorar su aspecto visual. Consiguiendo así mayor detalle y evitando errores graficos como son los artifacts o los dientes de sierra. El post-procesador Temporal Anti-Aliasing (TAA), es el que se encarga de evitar el conocido diente de sierra. El TAA para realizar este proceso algorítmico llega a consumir bastante rendimiento, por la dificultad del proceso.

NVIDIA ha estado investigando este tipo de problemas y ha encontrado la solución gracias a la inteligencia artificial. Ya que una IA entrenada tiene la capacidad de aprender y reconocer cientos de posibilidades y tomar la decisión correcta rápidamente. Gracias a los Tensor Cores y la IA, el DLSS permite renderizar la escena con menos frame,ya que la inteligencia artificial tendra estudiada la escena de cada juego que sea compatible, por lo que el calculo sera mas rapido que con TAA.

La tecnología DLSS, ofrece una mejor salida de imagen que el proceso realizado por TAA y a menor coste de rendimiento.

InPaiting

Esta característica de NGX, permite remplazar las partes borradas de una imagen, gracias a la IA. Permitiendo así, arreglar fotos automáticamente, gracias al entrenamiento recibido de la IA. La cual podrá recomponer una foto de un paisaje con un cielo nublado, revisando gracias a su algoritmo la librería de imágenes del mundo real con la que ha sido entrenada.

AI Slow-Mo

La tecnología AI Slow-Mo permite crear videos en con movimientos más suaves o en cámara lenta gracias a frames interpolados. NGX analizaría los frames, objetos y el movimiento de la cámara y crearía un nuevo frame entre el video frame real, ofreciendo así el Slow Motion.

AI Super Rez

Con esta nueva tecnología, los videos o imagens con una menor resolución, podrán ser rescalados adecuadamente y viendo pixeles gruesos. AI Super Rez interpreta de la imagen los pixeles y va creando nuevos que va incorporando a la imagen o video. Esta tecnología nos permitirá aumentar las resoluciones en 2x, 4x y hasta 8x veces su tamaño original. Los videos en 1080p a 30fps, podrán ser convertidos a 4K en tiempo real.

NVIDIA Turing y las tecnologias de las GeForce RTX 20 Serie