NVIDIA RTX: Todo Sobre su RayTracing, DLSS, Arquitectura Turing y Tecnologías
A mediados del año 2016 NVIDIA anunciaba sus GeForce GTX 1080 basadas en la arquitectura PASCAL, unas gráficas a las que siguieron multitud de modelos para cubrir toda la gama dentro del catálogo de la compañía, con modelos que iban desde las más modestas GTX 1050 hasta la poderosa GTX 1080 Ti , además de todo el catálogo de versiones de portátil, unas generación donde nadie había imaginado ni de lejos de la tecnología NVIDIA RTX y su Raytracing, o la aplicación de Deep Learning a GPUs domésticas.
Han pasado más de dos años desde el lanzamiento de la arquitectura PASCAL y hemos tenido que esperar hasta ahora para ver la llegada de una nueva generación de tarjetas gráficas de NVIDIA repletas de novedades que buscan ir un poco más allá en los gráficos de PC con tecnologías que hasta no hace mucho eran inconcebibles que se pudieran ejecutar a tiempo real en un ordenador doméstico.
Las NVIDIA RTX 2080 Ti, RTX 2080 y RTX 2070 hacen uso de la nueva arquitectura Turing una mejora respecto de las anteriores Pascal pero introduciendo un nuevo esquema de funcionamiento que combina los tradicionales CUDA Cores con los nuevos Tensor Cores y los RT Cores, una estructura que iremos desgranando a lo largo de esta editorial para conocer todos sus secretos, aun así ya os adelantamos que la compañía habla incluso de que Turing es el mayor salto en gráficas desde la introducción de CUDA en 2006.
Como seguro ya habréis visto en la presentación previa del pasado agosto, una de estas nuevas tecnologías de las que ha hecho gala NVIDIA es el Ray Tracing, un sistema de renderizado que basa su funcionamiento en la simulación de cómo los distintos materiales influyen en los rayos de luz para generar efectos realistas. Esta tecnología ya se ha implementado en DirectX y ya conocemos una lista de juegos como el Battlefield 5 que lo implementarán de serie y en las nuevas RTX (que deben su nombre a su optimización para RayTracing con la tecnología NVIDIA RTX) tenemos los RT Cores dedicados exclusivamente a su ejecución. Por otra parte, los Tensor Cores se utilizarán para tareas de Deep learning donde podemos ver su aplicación en juegos con la tecnología DLSS que permitirá filtrados anti aliasing con un bajo consumo de recurso.
Sobre el papel las nuevas RTX 2000 de NVIDIA resultan prometedoras y toda tecnología nueva que mejore la calidad gráfica de los juegos es más que bienvenida, sobre todo tras llevar dos años de sequía donde los entusiastas nos hemos aburrido bastante, analicemos en detalle si todas estas novedades valen la pena, pero primero vamos a repasar las especificaciones de las tres nuevas gráficas.
Como es ya tradición, el lanzamiento de una nueva generación de gráficas de NVIDIA suele realizarse presentando algunos de los modelos más potentes que formarán parte de su catálogo y en esta ocasión no ha sido una excepción. Sí que nos hemos sorprendido al ver también a la GeForce RTX 2080 Ti, el modelo de más alta gama que en ocasiones anteriores se habían reservado para más adelante.
Además, en esta ocasión NVIDIA ha diferenciado claramente entre las especificaciones de los modelos Founders Edition y de los modelos de referencia. En ediciones anteriores las Founders eran implícitamente los modelos de referencia con las especificaciones que marcaba NVIDIA y luego los ensambladores podían mantener o modificar esas especificaciones de velocidad de núcleo y memorias.
En esta ocasión tenemos, por un lado, las especificaciones de las RTX 2080 Ti, RTX 2080 y RTX 2070 de referencia y, por otro lado, las Founders Edition con unas especificaciones por encima de los modelos de referencia, es decir, que a efectos prácticos las Founders Edition serían como las versiones “personalizadas” de NVIDIA de sus propias GPU.
De esta manera, el modelo que reinará este año en el mercado gráfico será la GeForce RTX 2080 Ti, una gráfica que llega con una GPU Turing fabricada a 12 nanómetros con la friolera cifra de 4352 núcleos CUDA distribuidos en 68 SMs con 68 RT Cores y 544 Tensor Cores en total y 11 GB de la nueva memoria GDDR6 a 14 Gbps con un ancho de banda de 616 GB/s y un bus de datos de 352 bits.
La velocidad de la GPU es de 1545 MHz en el caso del modelo de referencia y de 1.635 MHz en el caso de la Founders Edition. Todo ello con un TDP de 250W para la versión de referencia y 260W en el caso del modelo Founders.
Si bajamos a la RTX 2080 nos encontramos con una cantidad bastante inferior de CUDA Cores, en total 2944 distribuidos en 46 SM (46 RTCores y 368 Tensor Cores) que funcionarán a 1.710 MHZ en el modelo de referencia y 1.800 MHz en el caso de la Founders Edition. En este caso tendremos 8 GB de memoria GDDR6 con un bus de 256 bit y 448 GB/s de ancho de banda en las dos variantes. Su TDP es de 215W para la de referencia y 225W para la Founders.
Finalmente, el modelo más “modesto” de la gama y el único que no soportará NVLink para colocar 2 o más gráficas a la ver es la RTX 2070, un a gráfica con 2304 CUDA Cores a 1620 MHz en el modelo de referencia. En este caso tenemos 36 SMs, es decir, 36 RT Cores y 288 Tensor Cores además de 8 GB de memoria GDDR6 a 14 Gbps y 256 bit de bus de datos .
Su TDP es de 175W en el cado de la versión Founders y de 185W en la versión de referencia curiosamente.
En todas estas gráficas NVIDIA ha sustituido su típico disipador de turbina por un nuevo modelo de doble ventilador. Además, se han añadido nuevas opciones de conectividad como es un USB-C pensado para utilizar con sistemas de realidad virtual o monitores compatibles.
Los precios de las Founders Edition en España quedarán así:
- GeForce RTX 2080 Ti Founders Edition: 1.259 Euros.
- GeForce RTX 2080 Founders: 849 Euros
- GeForce RTX 2070 Founders Edition: 639 Euros.
Es considerable el aumento de precio que ha tenido la RTX 2080 Ti si la comparamos con la GTX 1080 Ti Fonders Edition y sus 829 Euros, hablamos de 430 Euros de diferencia difícilmente justificables para un usuario que quiera sustituir su gráfica y se decante por la solución más potente actualmente. Es cierto que todavía desconocemos los datos de rendimiento reales de estas tarjetas, pero aún siendo optimistas no esperamos una mejora de rendimiento que supere un 20-30% en comparativas directas.
Aún así es cierto que hay que tener en cuenta que estas tarjetas son las primeras en soportar Raytracing a tiempo real al menos de manera solvente y que introducen tecnologías como el DLSS que permitirá mejorar bastante el rendimiento si las comparamos con generaciones anteriores con filtrados anti-aliasing activados, pero aún así, un salto de 430 Euros es muy difícil de justificar y habrá que ver qué acogida tienen en el mercado.
Posiblemente el modelo con más probabilidades de convertirse en “superventas” es la RTX 2070 siempre y cuando su rendimiento esté acorde a su precio y pueda superar a los modelos de precios similares de la pasada generación.
Según NVIDA; Turing supone el mayor salto arquitectural de la última década en el mercado de tarjetas gráficas. Esta nueva arquitectura combina varios núcleos de distintos tipos especializando cada uno de ellos en una tarea para mejorar le experiencia gráfica y el rendimiento global en juegos y otras aplicaciones.
Además, introduce también el nuevo tipo de memoria GDDR6 consiguiendo más ancho de banda, más velocidad y un consumo energético más contenido.
En el ámbito de la GPU, pasamos de tener una arquitectura basada únicamente en los CUDA Cores a tener una GPU Turing con tres elementos diferenciados, por una parte se mantienen los CUDA Cores, con una proporción de 64 CUDA Cores por cada uno de los SMs, para las tareas de rasterización o cálculo GPGPU tradicionales que ya realizaban las anteriores generaciones. Una RTX 2080 Ti es capaz de generar con ellos una potencia de cálculo de 14,2 TFLOPS FP32 y 28,5 TFLOPS en F16 gracias a sus 68 SMs y la GPU TU102 en la que está basada, en su desarrollo completo, ofrece 72 SMs.
Los SM (Streaming Multiprocessor) rediseñados consiguen, según la compañía, una mejora del 50% en rendimiento por CUDA Core respecto de la generación Pascal.
Los Tensor Core hicieron su aparición en la GPU Volta GV100, y ahora llegan también a las GPU Turing para añadir funciones de Deep Learning, de la parte de inferencia en concreto, a estas GPU. Cada SM incluye 8 Tensor Cores
Estas tecnologías están recientemente en boca de todos y se han implementado en múltiples entornos. Puede que en un primer momento no veamos donde podemos aprovechar un sistema de Inteligencia Artificial o Deep Learning aplicado a los gráficos de los juegos, pero NVIDIA ya se ha encargado de mostrar e implementar una tecnología como DLSS que hace uso de estas capacidades para generar un filtrado anti-aliasing de mayor calidad y con un impacto mucho menor en el rendimiento.
No obstante, se espera la llegada de nuevas tecnologías AI para juegos que podrían hacer uso de los Tensor Core como, por ejemplo, un sistema de inteligencia artificial mucho más avanzado que aprenda de nuestro estilo de juego para ofrecernos enemigos más complejos y divertidos.
La parte de la inferencia en el proceso de Deep Learning supone la implementación de los “conocimientos” que se han adquirido previamente mediante múltiples pruebas y ejemplos, por ejemplo en el caso de reconocimiento de imágenes, un sistema de alto rendimiento especializado (una granja de superordenadores por ejemplo) se encarga de analizar millones de imágenes para aprender a detectar ciertos elementos.
El proceso de inferencia sería la aplicación de esos conocimientos a una imagen en concreto, y esa es la tarea en la que se especializan los Tensor Cores. Más adelante cuando expliquemos la tecnología DLSS entraremos más en detalle.
Por otro lado, cada SM tiene ahora integrado un RT Core, es decir, en un TU102 completo tendremos 72 RT Cores y en la RTX 2080 Ti nos quedaremos con 68 RT Cores.
Cada uno de los RT Cores está dedicado a la aceleración del Raytracing para descargar de esas tareas a los CUDA Cores tradicionales, al estar especializados en esta tarea se consigue un procesamiento de los cálculos necesarios para el RayTracing mucho más eficiente que si lo realizáramos sin aceleración específica para hardware.
Cada RT Core calcula por un lado la intresección de triángulos de rayos y por otra la optimización de las intereseciones dentro de un volumen, es decir, centrando los recursos en la zona concreta que vamos a visualizar para no desaprovechar potencia de cálculo en otros elementos.
Microsoft DXR, NVIDIA OptiX y Vulkan RayTracing son algunas de las tecnologías que soportan los RT Cores.
DLSS son las siglas de Deep Learning Supersampling, una tecnología con la que NVIDIA quiere demostrar las posibilidades de las capacidades Deep Learning que ofrece la arquitectura Turing a través de sus Tensor Cores, en este caso aplicando un filtrado que evite artefactos visuales como los dientes de sierra sin perder detalle o evitando efectos colaterales que producen otros sistemas como el TAA.
TAA, o Temporal Anti-Aliasing es un sistema que se utiliza actualmente combinando dos imágenes para detectar donde colocar el fotograma anterior y evitar dientes de sierra y otros fallos en la representación de imágenes. El problema es que TAA y otros métodos similares introducen otros defectos en la imagen y requieren de muchos recursos, lo que hace que el rendimiento del juego se resienta haciendo que los jugadores tengan que escoger entre más FPS o mejor calidad de imagen.
DLSS quiere evitar esto aprovechando el Deep Learning e inteligencia artificial, para ello, la idea es la de un sistema de Deep Learning sea entrenado con imágenes que cuenten con filtrado perfecto de tal manera que sepa cual es el objetivo a conseguir y consiga aprender a procesar dichas imágenes para conseguir aumentar su resolución considerablemente aplicando distintos procesos para mantener la calidad del filtrado. Por ejemplo generando una imagen de 1080p se podría conseguir un filtrado escalado a resolución 4K sin necesidad de gastar recursos aplicando filtros a esa resolución.
Una vez el sistema haya aprendido (NVIDIA asegura que está en constante evolución y mejora) se puede aplicar a los juegos compatibles mediante las RTX 2000 sin tener que realizar todos los cálculos, solamente aplicando la inferencia del proceso Deep learning.
DLSS puede ejecutarse en núcleos CUDA convencionales, pero esto supondría dedicar recursos que deberían ir a la rasterización del juego al filtrado (lo que se hacía hasta ahora), al utilizar los Tensor Cores para la inferencia aplicando el DLSS se consigue penalizar mucho menos el rendimiento al mismo tiempo que se consiguen mejores resultados que con los filtrados tradicionales.
NVIDIA asegura que todo el proceso de aprendizaje de Deep Learning para el DLSS se realiza en sus superordenadores dedicados a tal fin mediante su NGX (Neural Graphics Framework) y de manera general, es decir, no especifica para cada juego en concreto sino que el proceso es general y luego la inferencia se aplica a cada juego en concreto, aunque naturalmente tienen que ser juegos adaptados exclusivamente para DLSS.
Los juegos que en el momento del lanzamiento serán compatibles con NVIDIA DLSS son los siguientes:
- Ark: Survival Evolved
- Atomic Heart
- Dauntless
- Final Fantasy XV
- Fractured Lands
- Hitman 2
- Islands of Nyne
- Justice
- JX3
- Mechwarrior 5: Mercenaries
- PlayerUnknown’s Battlegrounds
- Remnant: From the Ashes
- Serious Sam 4: Planet Badass
- Shadow of the Tomb Raider
- The Forge Arena
- We Happy Few
Raytracing es una técnica de renderizado con más de 30 años a sus espaldas. Se trata de una técnica que simula los rayos de luz que se emiten desde una fuente y donde se calculan todos los rebotes, interacciones con distintos materiales, modelos y superficies de dichos rayos para generar una imagen tridimensional realista.
El Raytracing se lleva utilizando desde hace años para generar modelos 3D hiperrealistas, pero hasta ahora no era algo que se pudiera aplicar a un juego a tiempo real por las inmensas necesidades de cálculo que requiere y ahora NVIDIA nos promete disfrutar de esta tecnología en juegos que están a la vuelta de la esquina como el nuevo Metro o el Battlefield V.
Para ello, las GeForce RTX 2000 introducen los RT Cores, unas unidades de cálculo especializadas en Raytracing, una por cada SM de arquitectura Turing, y que permiten optimizar los cálculos para aplicar esta tecnología.
Sin embargo, hay que destacar que lo que NVIDIA anuncia como Raytracing no es realmente Raytracing al uso, al menos no si consideramos lo que hemos explicado de genera rayos de “luz” desde una fuente para que reboten sobre las superficies y sean recogidos por la cámara del espectador. Eso, a día de hoy, sigue siendo imposible para cualquier tarjeta gráfica actual, incluyendo las RTX 2080 Ti.
Lo que se hace realmente en este “Raytracing” es generar el modelo 3D mediante rasterización, para que nos entendamos, como se ha hecho “toda la vida” mediante los CUDA Cores, y luego se aplican sobre el ciertos efectos de Raytracing generados con alguna que otra “trampa”.
Decimos “trampa” porque realmente el NVIDIA RTX lo que hace es, en vez de generar los rayos desde las fuentes de luz, dejar que reboten y se procesen desde la perspectiva de la cámara, calcula los rayos desde el objeto hacia la cámara reduciendo al máximo el número de rebotes y cálculos necesarios y únicamente para aplicar ciertos efectos de iluminación, sombra, refracciones y demás que se aplican sobre el rasterizado general.
Además, los RT Cores, como dijimos antes, están formados por dos unidades independientes, una de ellas especializada en optimizar el número de “rebotes” de los rayos y las mínimas superficies necesarias para conseguir el efecto deseado, y la otra para indicar cuántas intersecciones y triángulos son necesarios calcular para la escena.
En principio todo el resto del trabajo se realizaría en los CUDA Cores convencionales, pero únicamente las instrucciones mínimas necesarias para conseguirlo.
De esta manera se conseguiría un rendimiento 10 veces superior en una GeForce RTX 2080 Ti que en una GTX 1080 Ti utilizando raytracing . Nvidia utiliza la unidad de medida “Giga Rays por segundo” para medirlo, asegurando que una 1080 Ti ofrece unos 1,1 GigaRays/s mientras que la RTX 2080 Ti alcanzaría más de 10 GigaRays/s.
Esto significa que cualquier tarjeta gráfica sería capaz de ejecutar raytracing con mayor o menor soltura, pero los RT Cores permiten una optimización de los recursos mucho mayor.
Aún así, compañías como DICE ya han asegurado que rebajarán la implementación de Raytracing en su Battlefield V para conseguir un mayor realismo y no producir un impacto demasiado grande en el rendimiento, ya que las primeras demos apenas alcanzaban los 60 FPS a 1080p con toda una RTX 20180 Ti.
Los primeros títulos que serán compatible con el Raytracing de NVIDIA RTX son los siguientes:
- Assetto Corsa Competizione from Kunos Simulazioni/505 Games
- Atomic Heart from Mundfish
- Battlefield V from EA/DICE
- Control from Remedy Entertainment/505 Games
- Enlisted from Gaijin Entertainment/Darkflow Software
- Justice from NetEase
- JX3 from Kingsoft
- MechWarrior 5: Mercenaries from Piranha Games
- Metro Exodus from 4A Games
- ProjectDH from Nexon’s devCAT Studio
- Shadow of the Tomb Raider from Square Enix/Eidos-Montréal/Crystal Dynamics/Nixxes
Se espera que la mayoría de títulos que lleguen a lo largo del próximo año con Raytracing lo hagan implementando la Api de Microsoft DXR y de hecho NVIDIA está trabajando codo con codo con Microsoft para optimizar sus tarjetas para este sistema y no debería haber ningún problema para que tarjetas gráficas de AMD puedan implementar DXR, aunque posiblemente no lo veremos hecho realidad hasta la llegada de una nueva generación más potente.
Además de todas estas nuevas tecnologías y aunque con Raytracing el tema de los sombreados se puede generar ya directamente de manera realista, NVIDIA ha anunciado también nuevas tecnologías y estrategias para realizar sombreados en juegos que no se decanten por aplicar DXR o similares.
Mesh Shading
Mesh shading o sombreado de malla es un sistema para generar sombras en escenas con múltiples objetos. Generalmente, para calcular las sombras necesarias se requiere de una llamada a la CPU por cada objeto, esto, si bien permite un renderizado efectivo para objetos independientes, consume una gran cantidad de recursos.
Con Mesh Shading NVIDIA busca un sistema más flexible que permita aplicar los sombreados a un conjunto de muchos objetos o elementos de manera simultánea haciendo uso de procesadmiento paralelo directamente en la GPU y liberando el cuello de botella que supondría una cola de llamadas (una por objeto) a la CPU. Mesh Shading también habilita la posibilidad de aplicar nuevos algoritmos de gestión del nivel de detalle y de síntesis de geometría avanzada.
Variable Rate Shading
Una de las estrategias que se aplican en juegos y a nivel de procesamiento gráfico para aprovechar al máximo los recursos disponibles es centrar una mayor parte de recursos a las zonas más importantes de una escena. VRS o Sombreado de ratio variable aplica ese principio al cálculo de sombras en las escenas permitiendo que el desarrollador controle el nivel de sombreado de manera dinámica, por ejemplo, aplicando un sombreado de 8x a los píxeles de una zona o de 16x a los píxeles de otra zona más visible.
De esta manera se reduce el trabajo en zonas que no son importantes y se puede concentrar la potencia gráfica en lo más importante de cada momento. VRS es compatible con tresw nuevos algoritmos basados en su implementación: Content Adaptive Shading para determinar el nivel de sombreado dependiendo del nivel de detalle,
Motion Adaptive Shading que regula el nivel de sombreado dependiendo del movimiento de los objetos y Foveated Rendering que basa la aplicación de más o menos calidad del sombreado dependiendo del campo de visión, lente y posición de los ojos en sistemas de Realidad Virtual.
Texture Space Shading
En este caso tenemos un sistema de sombreado donde los objetos se sombrean en un espacio propio que se guarda en memoria, de esta manera se puede utilizar estos datos como caché para poder aplicar esos sombreados a objetos similares sin necesidad de generarlos de nuevo o duplicar espacio.
Multi-View Rendering
Finalmente, con Multi View Rendering o MVR obtenemos una evolución del Single Pass Stereo de la arquitectura Pascal que permitía renderizar dos vistas a partir de dos posiciones desplazadas en el eje X. En el caso de MVR se pasa de dos vistas a un numero mayor de una única pasada, incluso si esas vistas se realizan desde posiciones distintas de origen en cualquier dimensión.
Sobre papel, todas las propuestas de NVIDIA en esta nueva generación de gráficas con arquitectura Turing parecen ir en la dirección correcta en la que se mueve el mercado. Con cada generación tenemos más potencia, pero esa potencia no vale de nada si no se implementan mejoras gráficas que nos lleven, cada vez más, hasta el fotorrealismo, el "Santo Grial" de los fabricantes de gráficas y desarrolladores de juegos.
Parece que Raytracing es el futuro y compañías como Microsoft, Chronos Group, muchas desarrolladoras y naturalmente NVIDIA y AMD van a apostar fuerte por ello, pero en un mercado tan competitivo como este, quién pega primero pega dos veces y no hay duda de que, a día de hoy y salvo milagro de última hora, todos aquellos que quieran disfrutar de Raytracing en juegos van a tener que hacerse con una GeForce RTX.
Los usuarios lo sabemos, NVIDIA lo sabe y así tenemos esos precios que en el caso de la RTX 2080 Ti aumentan en unos exagerados 430 Euros al precio de su predecesora. Solo el tiempo dirá si la gente está dispuesta a pagar esas cantidades por una tarjeta gráfica Mono GPU, de lo que no hay duda es que la exclusividad se paga, y los precios elevados van de la mano de la ausencia de competencia.
Es cierto que el Raytracing que podremos disfrutar en los próximos días no es Rayracing “real” como tal, pero sí que permitirá disfrutar de unos niveles de realismo y espectacularidad nunca vistos hasta la fecha, y ahí está la exclusividad que hace que NVIDIA tenga ahora mismo la sartén por el mango.
No menos importante es la aplicación del Deep Learning a los gráficos de PC, con el DLSS se van a conseguir unas calidades de filtrado nunca vistas antes acompañadas de unas penalizaciones de rendimiento muy reducidas. Nvidia cuenta con divisiones especializadas en IA y Deep Learning en otros ámbitos, nos viene a la mente el de los vehículos autónomos, y era cuestión de tiempo que aplicaran esta tecnología al mercado que les vio nacer, el de los juegos de PC. Además, la integración de los Tensor Core también prometen mejoras en la IA de los enemigos en los juegos y de seguro que vemos nuevas aplicaciones de esta creciente tecnología.
No podemos tampoco dejar de mirar hacia AMD ya que, como principal competidor de NVIDIA es de esperar que no tarde demasiado en presentar sus propuestas similares o equivalentes pero, hasta entonces, NVIDIA parece que puede respirar tranquila en su trono.
Quedamos a la espera de poder ver de primera mano cómo se comportan en juegos reales las nuevas NVIDIA GeForce RTX 2080 Ti, RTX 2080 y RTX 2070 que llegarán el 20 de septiembre, además de los próximos modelos que quedan por venir para el 2019 para ver realmente de qué son capaces. Sin duda este final de año 2018 va a ser muy interesante para todos.