Comentario Original:

urian han presentado las RTX y en tu articulo anterior de lo que iban a hacer y presentar y solucionar etc , HAS ACERTADO EN TODO.

No, no he acertado en todo y he metido la pata en una cosa en concreto que no otra que yo pensaba que las Turing GeForce no iban a tener Tensor Cores en su interior. Por lo que el cuervo me lo tengo que comer.

crow

Es decir, mi especulación era que las Turing de las Nvidia Quadro y de las GeForce serían distintos donde estos últimos carecerían de los Tensor Cores, al final el chip es el mismo. Pero hay algo que Nvidia menciono hace un tiempo y que ahora han rescatado relacionado con los Tensor Cores.

SuperResolution

La idea a través del Deep Learning y los Tensor Cores de convertir una imagen de una resolución con n pixels a una resolución con 2n o 4n pixeles. Este concepto lo tenia olvidadisimo y Nvidia me ha hecho recordar que si que existe una utilidad para los Tensor Cores en el mundo de los gráficos en 3D a tiempo real y es precisamente el hecho de poder renderizar una imagen por ejemplo a 1080p y con los Tensor Cores tener su versión cristalina a 4K como resultado. Esto no es la primera vez que se hace y tiene un precedente en el SPURS Engine, un procesador lanzado hace una década por Toshiba basado en el CBEA para los televisores de Toshiba. ¿Su particularidad? El hecho de poder escalar de calidad DVD a calidad BluRay (1080p) consiguiendo en el proceso una imagen que se acercaba mucho a la calidad de imagen del Bluray y a veces incluso la igualaba. Pues bien, los Tensor Cores son unas 50 veces más potentes para la misma tarea.

¿Y que sentido tiene? En la entrada «No es país para 4K» comente los problemas para renderizar a 4K nativo que tenemos ahora… ¿Pero que sentido tiene renderizar a 4K nativo cuando puedes renderizar a resolución 4KCB o a 1080P y luego con los Tensor Cores generar un búfer de imagen final a 4K que sea lo suficientemente bueno para el espectador? Esto significa reducir la carga de trabajo al 25% respecto a lo que es necesario para 4K en el caso que nos ocupa.

compress-4k-to-1080p

¿Pero en que etapa del pipeline iría? Obviamente, siempre al final de todo el proceso tanto si es solo rasterizado o pipeline híbrido por el hecho que toma la imagen final y la re-construye a mayor resolución, en realidad es algo realmente post-pipeline y realmente fuera de este.

Nvidia en la serie GeForce RTX 20 lo que ha hecho es lanzar dos GPUs con una misma arquitectura con un tamaño colosal en comparación con el tamaño medio. Esto es debido al no-uso del proceso de 7nm FinFet y esto ha contribuido en al alto precio. Precisamente yo pensaba que Nvidia iba a ahorrarse los Tensor Cores hasta la aparicion de la siguiente generación por temas de espacio pero al final no ha sido así. La realidad es que Nvidia esta centrando todo el marketing en el Raytracing y no es para menos, es uno de los mayores avances en el renderizado en 3D a tiempo real, uno al nivel de la Voodoo Graphics en su día o de la GeForce 3 (integración de los shaders) pero del Raytracing ya he hablado mucho.

En la era de los monitores y los televisores a 4K y donde el futuro es el Raytracing, la potencia necesaria para renderizar a 4K con Raytracing a tiempo real es algo extremadamente prohibitivo a nivel de potencia de cálculo necesaria. La solución más elegante es renderizar la escena a 1080P y luego utilizar los Tensor Cores para escalar la imagen a una mayor resolución, pero en todo esto hay una serie de «problemas» asociados y es que las núcleos CUDA (Shaders), Tensor Cores y los RT Cores comparten recursos, en concreto comparten el acceso a las caches internas y los registros de la unidad SM, de tal manera que utilizar uno de los tres quita potencia a los otros dos por el simple hecho de no poder operar. Esto es importante porque Nvidia presenta la arquitectura con unos números máximos que en conjunto son completamente imposibles por el motivo que os he hecho.

Dado que la longitud en tiempo de las instrucciones de una GPU son predecibles es posible asignar dinámicamente los recursos necesarios para renderizar un fotograma y re-aplicar la potencia sobrante del hardware en otros menesteres. Y dado que el Raytracing va a pegar muy fuerte lo que son el uso de los Tensor Cores va a ser bajo, por eso me sorprende su inclusión en las GeForce RTX 20, el concepto de la Super-Resolución esta muy bien pero si tenemos en cuenta las condiciones del hardware pues… No es algo que vayamos a ver en los juegos y los desarrolladores van a preferir centrarse en el uso del pipeline híbrido.

RTX_Hybrid.jpg

El pipeline híbrido requiere darle tiempo en milisegundos a la parte raytracing y esto requiere que la etapa de rasterización se vea acelerada también. El salto en la parte de rasterización (cantidad de núcleos CUDA y velocidad de reloj) de la serie 10 a la serie 20 no es tan espectacular y ahí entramos ya en otro tema polémico y lo mejor es que lo veais por vosotros mismos.

TuringfakeData.PNG

¿Como es que el tiempo de R es ta corto respecto a Pascal si no es mucho más potente? La respuesta es que esto es porducto de eliminar en el renderizado la iluminación indirecta pre-cocinada por el hecho que con el Raytracing se convierte en una inutilidad absoluta ya que ciertos efectos visuales los emula mejor el Raytracing.

gdc2

Y aquí entramos en otro punto importante, los RT Cores lo que hacen es calcular la interesección de las fuentes de los rayos con la geometría y como ya comente hace unas entradas con una serie de shaders y según el resultado de la intersección se aplica un shader u otro. ¿El problema? Cada tipo de efecto necesita su propio rayo, no se trata de ir rebotando los rayos de luz base sino que tenemos rayos para los reflejos, luz indirecta, sombras, AO… Unos requieren un rayo pero otros dos o más. Hay que tener en cuenta que el calculo de la intersección se hace tomando la estructura de datos espacialcon la geometría ordenada en ella pero el trazado de rayos se hace pixel por pixel por lo que a más resolución menos rayos por pixel por lo que la resolución es importante en todo este tema.

Y esto nos lleva el tema del principio, el hecho de poder renderizar a 1080p para luego escalar con los Tensor Cores a 4K de manera dinámica es una perita dulce pero lastrada por el hecho que los RT Cores, Shader/CUDA Cores y los Tensor Cores en cada SM trabajan de manera conmutada entre los tres. En el caso del escalado con el DLSS es algo que le va a dar una nueva vida a juegos antiguos donde la potencia de las GPUs actuales va sobrada, permitiendo espacio para que los Tensor Cores coloquen muchos juegos a 4K Ultra y 60 fps sin problemas, pero eso no entra por los ojos porque no aumenta la calidad de imagen como el Raytracing en el pipeline híbrido.

Y esto es todo, he querido dar un enfoque distinto a toda la parafernalia relacionada con el marketing que esta apareciendo en las últimas horas. En todo caso es una primera generación de algo y la existencia de la 2080 Ti y el cercano proceso de 7FF marcan que esta generación va a ser corta. Es más necesitan los 7FF para ir a la gama de consumo porque con estos precios…

Screenshot_YouTube_20180821-034856.png

… Como que son bastante inaccesibles, por eso pienso que la entrada en los 7FF va a ser la versión de gama media y de consumo de esta arquitectura. El salto de los 16FF a los 7FF permite el doble de densidad práctica y un aumento en la velocidad de reloj.

1a-TSMC-7-speed-power

Me pregunto si Nvidia va a sacar la GeForce RTX 2060 con un chip TU106 fabricado bajo el proceso de 7FF o simplemente cuando puedan sacaran una RTX 3080 bajo el mismo proceso y basada en una versión mejorada de Turing. Pero eso ya lo veremos, en todo caso parece que como dije no hay renovacion en la gama media-baja y no olvidéis que los Early Adopters siempre pagan caro las novedades y esta gama tengo muy claro que al cabo de un año ya habrá sido reemplazada y de sobras por una gama mejor en todos los sentidos, no os esperéis un reinado de dos años como el de la Serie 10, la serie 20 será breve y pronto destronada.