Blog Personal.

Deep Learning, Futuro, Inteligencia Artificial, Nvidia, PC, PlayStation 5, PS5, Xbox Series X, XSX

DLSS 2.0, Arrays Sistólicos y el fúturo de las GPUs. (Feedback)

Comentario#1:

Mm, suena muy interesante, pero (probablemente me equivoque), juraría haber leído por aquí que las nuevas consolas llevan arrays sistolicos

Y los llevan, pero no en las Compute Units como Nvidia sino en el codificador/descodificador de video (VCN) lo que limita su funcionalidad ya que no se encuentran en las Compute Units de la GPU principal.

La utilidad es más bien para la codificación/descodificación de video de cara al Streaming Local y el Cloud Gaming, se utilizan los arrays sistólicos para codificar y descodificar vídeo a muy alta velocidad, lo cual es part del pipeline esencial del Cloud Gaming. Tened en cuenta que el hardware utilizado en los servidores par el XCloud y el de Xbox Series X (por ejemplo) va a ser el mismo.

A lo que me refiero como carencia en RDNA 2 es de Arrays Sistólicos en las Compute Units al contrario de lo que ocurre en los SM/CU de Nvidia en Turing, todo porque AMD ha decidido que es mejor colocar esas unidades en las CUs de CDNA.

Comentario#2:

Buenas Urian muy interesante el DLSS2.0 y una pena que las nuevas consolas no puedan tenerlo pues parece un gran avance. Dicho esto, podrías hacer una entrada DLSS 2.0 vs FIDELITY FX? Es posible que Sony y Microsoft junto con AMD tengan una solución custom para PS5 y XBOX SERIES X, es decir, que puedan llegar a añadir tensor cores (o algo similar) en RDNA2? Gracias

Es lo que ocurre cuando vas a remolque de la competencia que es lo que le ocurre a AMD. Los Tensor hasta la salida del DLSS 2.0 eran algo completamente inútil de cara al mercado doméstico, ahora de repente se han vuelto útiles de la noche a la mañana.

El hecho de que con un hardware similar puedas obtener una tasa de fotogramas mayor le va a hacer mucho daño a las RDNA 2 de AMD, la gente se basa mucho en los benchmarks y si con DLSS 2.0 Nvidia gana tengo muy claro donde ira el dinero de los usuarios de PC. Es más, ya me estoy viendo a AMD adaptando los arrays sistólicos/unidades matriciales de CDNA a RDNA2 con lo que ha ocurrido.

Comentario#3:

Hola AMD talves no tienen tantos algoritmos y por eso no los incluye

El concepto de los arrays sistólicos lleva inventado desde los 80, no los han inventando en Nvidia y cualquiera puede utilizarlo. Aparte que es una configuración de las unidades aritmético-lógicas como son las unidades escalares, SIMD… Cualquiera puede incluirla en su procesador si lo estima conveniente.

El problema es que AMD ha valorado que tiene más sentido colocarlo en su «GPU» para HPC, la llamada CDNA de la que hablaron hace poco.

Comentario#4:

Lo ultimo, en realidad sea Ray Tracing hibrido o no, hay siempre ruido, si tu como en Battlefield 5 usas solo reflejos rt si no usas denoising, Tendea ruido en los reflejos, asi que todos los juegos sean hibridos o no utilizan siempre filtros denoising para eliminar el ruido, que son filtros via shaders tradicionales de la GPU(FP32), de momento no se esta utlizando denoising IA, ni siquiera en juegos con iluminación completa por Ray Tracing (sin rasterizacion) como Quake 2, utiliza filtros TAA + mas un filtro basado en esfericas para la iluminación global:
https://youtu.be/FewqoJjHR0A

Sobre el DLSS 2.0 viendo comparaciones de usuarios en Minecraft, es cierto que han logrado una nitidez muy buena prácticamente indestingible de la nativa(aqui añadir que DLSS 2.0 usa filtros sharpen/nitidez) , pero siguen habiendo errores. En Minecraft por alguna razon elimina bastante sombreado proveniente del AO(oclusion ambiental), hay zonas que elimina iluminacion en la paredes(indirecta/iluminación global) y cambia ligerente su color, y tambien cambia algunos colores de ciertos objectos, objectos que son blancos en nativa los interpreta como celeste o gris XD.

El problema es que una cosa es el Trazado de Rayos puro y duro sin rasterización prevía y otro es el Trazado de Rayos con rasterización previa que es el que se utiliza en los videojuegos en estos momentos para realizar ciertos efectos de manera más cercana a la realidad y por tanto más precisa, efectos como:

  • Sombras
  • Reflejos
  • Oclusión Ambiental
  • Rebotes de Luz más allá de la luz indirecta de primera generación.

Esto lo digo porque en el Trazado de Rayos a Tiempo Real cuando un rayo impacta sobre un objeto lo que se hace es invocar un shader que modifica el valor de color de dicho objeto en global y afecta a varios pixeles simultaneamente. En el trazado de rayos convencional en cambio eso no ocurre, no hay rasterizado previo y cada rayo impacta sobre un pixel de la pantalla y resuelve el color, el problema es que necesitamos una cantidad de muestras por pixel enorme con tal de eliminar el ruido.

¿Y a que se debe dicho ruido? Pues es producto de la falta de precisión durante el test de intersección. Esto hace que pixeles de la imagen donde se produce una intersección acaben dando un resultado erroneo, lo que obliga a realizar una cantidad ingente de intersecciones para compensar la falta de precisión de la intersección. ya la hagamos con una unidad especializada o por software.

En el trazado de rayos a tiempo real antes de pasar a la étapa del trazado de rayos. hemos solucionado lo que es el renderizado con iluminación directa, por lo que si por falta de precisión falla la intersección ya tenemos un valor de color previo en esos pixeles, por no hablar que como he comentado antes las intersecciones no se hacen a nivel de pixel sino a nivel de objeto, no es trazado de rayos puro y duro y eso se ha de tener en cuenta.

Debido a que es una combinación entre rasterización y trazado de rayos lo llaman pipeline hibrido ya que el trazado de rayos solo se utiliza para solventar ciertas limitaciones de la rasterización.

Y si miráis las especificaciones de DirectX Raytracing veréis que la etapa de Denoising no forma parte del pipeline porque no es esencial y Nvidia hablaba de ella porque andaba desesperada hasta hace poco para justificar los Tensors en una GPU doméstica.

Por último será de ver si las consolas implementa upscaling por IA, en la entrevista de xbox se dejo caer algo sobre la IA y que la IA no se puede manejar solo por FP16, si no también ciertos algoritmos se puede utilizar INT 8 y 4. La xbox tiene 48 TOPS (INT8) y 96 TOPS (INT4) (los TOPS son el equivalente a Tflops, pero en calculos de enteros INT) , si que será de ver si las consolas crean un algoritmo de IA para upscaling para INT8 o INT4, lo suficiente rapido, para que se ejecute en 48 o 96TOPS.

Lo de la potencia de cálculo en Int8 y FP16 es producto colateral de las capacidades de la ALUs de RDNA 2, las cuales palidecen frente a lo que sería su equivalente en Nvidia gracias a los Tensor Cores.

Y eso no es algo subjetivo, sino objetivo e innegable. Aplicar algo como el DLSS 2.0 en RDNA 2 seria extremadamente lento en comparación y la cantidad de ms en que se solventaría la imagen no sería precisamente pequeño.

Comentario#5:

Es bastante decepcionante, pero interesante para una primera etapa primitiva de IA. Si construyes una función de reconstrucción como es este tipo de escalado, es una muy pequeña etapa referente al universo de soluciones requeridas para las fotografía.

Se me ocurren varias utilidades:

Mejorar el procesamiento de la informacion de los tonos de imagen, un IA-TONEMAP, implementando modelos de percepción y modelos biológicos mucho más dinámicos y precisos. Prácticamente tendrías una respuesta de rango dinámico como si fuese un ojo real, extrapolado a una pantalla. Tanto que podría ser útil para reconstruir las zonas HDR correctamente en los BACKLIGHT de las TV. ¿Quién dijo TV 3D HDR?

Por ejemplo podrías mejorar la etapa de iluminación en el pos-procesado, de la misma manera entrenando la red neuronal de una escena real contra la escena generada en computadora. Similar a las DEEPFAKE que ves en en «YOUTUBE», la cosa mejora…

En emulación por ejemplo obviando que podría supe fácilmente los procesos de implementación del os ASIC en tiempo real. Pero no va a eso. Por ejemplo, Mario 64, un sistema IA podría entrenarse para hacer que Mario se observe, enfatizo, SE OBSERVE como si fuese de carne y hueso con la cara de Nicolas Cage. Rellenar el suelo de vegetación de todo tipo sin cambiar las texturas.

La idea del AXÓN como IA es el arma más poderosa contra el «SUBJETIVISMO» rampante, cualquiera podría montar una IA que escriba un blog sobre tecnología. ¿Sera Urian una IA del futuro?. Pues ríete descartes y el dilema de cerebro en una cubeta.0  ReplyEditStickClose10 hours ago

¿De verdad creeis que esto de la IA tiene que ver con crear a Skynet?

No, no estamos hablando de una IA auto-consciente capaz de crear estrategias por si misma y tener un pensamiento racional y crítico sino de sistemas capaces de aprender patrones regulares en un set de datos y generar elementos a partir de dicha información.

No tiene nada que ver con crear máquinas conscientes de si mismas como si fuesen seres humanos.

Comentario#6:

Nvidia sí utiliza denoising en tiempo real, es por eso que se puede hacer raytracing en videojuegos.
La resolución de rayos es muy baja comparada con prerenderizados.

Afirmas que yo he dicho que Nvidia no utiliza denoising a tiempo real, lo que no tienes en cuenta es que el Denoising no es necesario en lo que es el pipeline híbrido y tampoco forma parte de la especificación estándar de este porque no tiene los mismos problemas que el trazado de rayos puro. Me vienes con un vídeo que no tiene nada que ver en el contexto del renderizado híbrido y se encuentra fuera del contexto pero no es culpa tuya, forma parte del trilerismo del marketing de Nvidia.

El caso es que la propia Nvidia utiliza un algoritmo de «Denoising» en el pipeline híbrido que no tiene nada que ver con el utilizado en lo que es el renderizado offline para el cine donde si que utilizan los Tensor Cores, y es que el utilizado a tiempo real es tan simple que ni tan siquiera utiliza los Tensors y no lo digo yo, lo dijo Nvidia en una presentación en la GDC. En realiidad no necesitas algoritmos de Denoising en el pipeline híbrido pero si en el Path Tracing que es otra cosa.

Para que la gente lo entienda:

  • La étapa de Denoising no es condición imprescindible en el pipeline híbrido (rasterizado+trazado de rayos) y no se encuentra siquiera especificado en estandares como el DirectX Raytracing.
  • El Denoising es problema del Trazado de Rayos convencional por lo que no afecta a los vidoejuegos… ¡Que no lo utilizan!
  • Nvidia no solo vende GPUs para Gaming sino también para estaciones de trabajo y granjas de renderizado, la mayoría de algoritmos de Denoising que se han presentado van bajo ese entorno.

Las rdna 2 también lo hacen. El Minecraft es 100% raytracing. Funciona a 45 fps y full hd en xbox series x.

La 2080 ti alcanza 56, así que es acorde a la diferencia de potencia bruta entre gpus. Es decir, rdna 2 no lo hace nada mal en raytracing, similar a nvidia. Y probablemente también similar en IA por la razón que sea

comment image

Lo deel RTX Minecraft es Nvidia jugando al juego del trilero. Pero os dare una pista, no es el mismo pipeline del Raytracing Híbrido sino que es Path Tracing porque es lo que justifica su hardware exclusivo. Creeme que el Minecraft bajo Raytracing de la Xbox Series X es otra implementación distinta y no se trata del mismo producto que ahora anda promocionando Nvidia.

El año pasado ya apareció el Minecraft bajo trazado de rayos pero han sacado una implementación pensada para las especificaciones únicas de la gama Turing y Nvidia anda con toda su maquinaría de marketing promocionando dicha versión, la cual utiliza Path Tracing y no es renderizado híbrido, lo que les lleva a utilizar el Denoising y con ello justificar los Tensors como parte del pipeline para el trazado de rayos.

En cuanto al tema de la IA, en realidad fuera del DLSS 2.0 no ha demostrado nada en juegos y si encima tu potencia de cálculo es más lenta como es el caso de AMD pues… Creeme que muchos medios harán benchmarks con y sin DLSS 2.0 y harán comparativas y ya sabemos como es el mercado del gaming de PC. Más que nada hablamos de la misma gente a la que le paga Nvidia para que en sus reviews veas una GeForce.

No es la primera vez que AMD no implementa una tecnología nueva en sus GPUs y se dispara contra su propio pie…

¿Es culpa mía? No, es culpa de la propia AMD. Lo mismo les ha ocurrido con RDNA 1 y las unidades de intersección que si que veremos en RDNA 2.

PD; Odio que WordPress no permite colocar imagenes en las citas de forma sencilla, me jode el formateo del blog de mala manera.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

0 0 vote
Article Rating
7 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Big crunch

En Minecraft se usa path tracing con denoising en tiempo real, y es el mismo juego en series x y el que acaba de salir en pc.

No has mencionado lo otro que dije sobre aplicar dlss al diffuse map para ahorrar vram y ancho de banda en hardware portátil, y para el streaming de videojuegos usando el mismo bitrate a 1/4 de resolución

MACUZO-AUC

Quería ver skynet pero bueno será en 2030, después de la segunda pandemia de la década que avecina. Me pones muy triste.

Set

Urian estas bastante confundido en el tema de Ray Tracing XD, me extendere un poquito mas, primero estas usando mal los término, Ray Tracing en tiempo real no existe, todo el Ray Tracing es en tiempo real, este termino dentro del mundo de la programacion, se utiliza para cuando una tecnica es dinamica y no Backed, el termino seria Ray Tracing completo y Ray Tracing hibrido: 1)Todos los Motores y juegos que estan implementado Ray Tracing estan implementando Patch Tracing, la primer version de Ray Tracing sin samples, se dejo de usar en ambitos de fotografías y peliculas desde hace… Read more »

IntelCeleronMasterRace

Hombre, sos el EMPERADOR de los pesados, te han cerrado la boca UNA Y OTRA Y OTRA Y OTRA VEZ y SEGUIS insistiendo en muchas cosas. COMO COJONES VA A TENER PATH TRACING UN ELEFANTEASICO BATTLEFIELD 5?!?!?!??!?!? Sabes la HORROROSA diferencia en rendimiento entre usar Pathtracing en M I N E C R A F T y un juego con tantos poligonos como granos de arena en el mundo como BATTLEFIELD?!?!?

Big crunch

Te llevan la contraria y bloqueas los comentarios. Yo alucino con la pataleta.

IntelCeleronMasterRace

El sobrado de arriba llego a poner que se usan PATHTRACING en TODOS LOS JUEGOS. LISTO, YA ESTA, VAMONOS.

Daniel

Gracias por responder. Lo que sigo sin entender es si los tensor cores son capaces de codificar video ( deben de serlo cuando tienen acceso directo al buffer de video para poder reescalar las imágenes), ¿Qué sentido tiene que AMD coloque sus arrays sistolicos en otra parte? Si no recuerdo mal, podrían usarse para cosas como el raytracing del audio que tanto presume Sony, pero supongo que con los de nvidea también se podría, no? ¿Podrías comentar algún uso que le puedan dar a los de AMD que no se pueda hacer con los de nvidea? Ya es tarde para… Read more »