Hay un desarrollo interesante, como saben, las tarjetas gráficas GeForce RTX tienen núcleos tensoriales, núcleos dedicados para optimizar y acelerar todo lo que AI y Deep Learning. Un engendro de esa tecnología para juegos es DLSS, que NVIDIA está comercializando fuertemente. Con la actualización de octubre de 2018 para Windows 10, Microsoft lanzó la API de DirectML para DirectX 12.

ML significa Aprendizaje automático en máquina (Machine Learning) , y hace posible ejecutar redes neuronales entrenadas en cualquier tarjeta gráfica DX12. Básicamente, la optimización o el algoritmo de Aprendizaje Profundo, si así lo desea, se convierte en un shader que se puede ejecutar sobre el motor de sombreado tradicional, sin necesidad de núcleos tensoriales. En una entrevista con AMD, mencionaron que el equipo está trabajando en esto y, al parecer, Radeon VII parece muy adecuado para la nueva API. El sitio web japonés 4gamer.net habló con el gerente de mercadotecnia de AMD, Adam Kozak. Actualmente, AMD está probando DirectML con Radeon VII y quedó impresionado por los resultados, y esa es una noticia emocionante para AMD que les ofrece una alternativa AI/DL.

Mientras AMD está probando esto en Radeon VII, la lógica obviamente dicta que funcionaría bien en Radeon RX Vega 64 y Radeon RX Vega 56 también. Esto permite, por ejemplo, una implementación alternativa al DLSS de Nvidia.

Sólo 1 + 1 = 2
Por supuesto, si esto se convierte en una cosa con soporte real, entonces no se puede abordar solo con AMD, esta pregunta sigue siendo: ¿los desarrolladores de juegos realmente implementarán, experimentarán e integrarán el soporte para DX ML en los juegos?

También debe decirse, funciona a la inversa, DirectML también podría hacer uso de los núcleos Tensor de Nvidia, lo que sin duda les da una ventaja. Como la tarjeta Radeon vería un impacto en el rendimiento, mientras que las tarjetas RTX pueden simplemente descargar el algoritmo hacia sus núcleos tensoriales. El tiempo lo dirá, pero esto ciertamente es un desarrollo interesante siempre que su tarjeta gráfica sea lo suficientemente potente, por supuesto.


4 commentarios

YCH · 22 enero, 2019 a las 8:35 am

A mi la gracia que me da con AMD es que no tienen ideas propias esperan que saquen las cosas para después ellos inventar algo similar.

    Maikel · 22 enero, 2019 a las 9:19 am

    para nada YCH. si sigues la tecnologia a lo largo de los años y el desarrollo de todas las empresas pues incluso tendrias que decir lo mismo de NVIDIA, y de INTEL, y de Apple, y de unos cuantos mas. todos han “inventado” algo que luego otros hacen similar, es un asunto de estandarizacion.

    Ejemplo. DLSS (Deep Learning SuperSampling) es un nombre “comercial” (mas entendible por las personas) para Superresolucion de una sola Imagen, inferida mediante Redes Neurales. algo que tiene unos años ya, y si es sin Redes Neurales, mas viejo todavia y su uso de esta forma (en videojuego, pero igual en todo tipo de imagen o video) ya estaba planteado hace mucho. en otras palabras NVIDIA no lo inventó, lo que hizo es empleando hardware acelerador para inferencias en redes nuronales, aplicarlo en la imagen en juegos. incluso yo me he programado superresolucion en una sola imagen, lo que no con una red neural, sino mediante autoreferecnia y sin diccionario de muestras, y asi quiero hacerlo acelerado en GPU este año para aplicarlo en mi trabajo. La superresolución es mejor todavia si se tiene en cuenta la informacion temporal (entre cuadros de imagen), pero ya en este caso se pone muucho mas pesada computacionalemente (creeme, lo he programado)

    Como ves en el articulo, y si sabes como funciona esto, hacer esta operacion es relativamente “simple”, solo necesitas entrenar la red neuronal con imagenes (muchas) de cada juego, y luego se realiza la inferencia durante la creacion de la imagen. Este proceso es “viejo”. Es basicamente un metodo de reescalado mejorado, para que el raytracing no tenga procesar todos los pixeles, si no menor cantidad (asi sea menor el impacto en el rendiminto), que luego se escala la imagen infiriendo la estructura a mayor resolucion, inferir es predecir +-, no significa que lo que sale sea exactamente lo que debiera salir, es una aproximacion, tan cercana como se pueda. solo hacer el proceso completo da el resultado exacto. Esto es lo que se hace, NVIDIA en sus supercomputadoras, AMD en las suyas. Se ejecuta el juego a muuuucha mayor resoucion o con muchas mas muestras por pixel (ejemplo 64, el MSAA mas alto que he creo que hay es 8X,a si que calcula, es 8 veces mejor) y esto entrena a la red neuronal en como se ve una estrucrura de pixeles a una resolucion muy alta comparado con una menor, asi que “aprenda” como deberia ser mas o mneos a mayor resolucion. Asi cuando dibujas a menor resolucion, se infiere una imagen de mayor reoslucion.

    En este caso AMD lo que intenta es hacerlo estandar, sin atar el proceso a un hardware o API o fabricante, por lo menos si usas windows, gracias que que usaria DirecML, incluso podria funcionar en GPUs de NVIDIA y quien sabe en los proximos de Intel.

    Otro ejemplo, el raytracing no es “de NVIDIA”, el raytracing vienen de mediado de los 70, y con restricciones, ya se hacia en tiempo real desde inicios de los 2000, nvidia lo que usa aqui es DXR, en que ha estado trabajando Microsoft, NVIDIA, AMD, y otros hace un tiempo y salio con el DX12 en la utlima version de Windows. RTX es una capa propietaria de interface con el hardware acelerador que incluyo nvidia para poder hacer la parte mas pesada del RT tan rapido como se pueda. pero como has visto, otros GPUs (de AMD, NVIDIA incluso los integrados de Intel) pueden hacerlo tambien sin tener este hardware, pero mas lento, aunque segun la complejidad de la escena y resolucion, pueden llegar a tiempo real. tener hardware acelerador es un paso odvio, hay hardware asi hace años empleandose en renderfarms, en GPU quien priemro lo tuvo fue PowerVR hace 2 o 3 años y en moviles casi!! pero poco usado. y este es el problema, cuanto se puede facilitar el uso y cuan rapido y efectivo puede hacerse para que los desarrolladores de videojuegos se animen a usarlo.

    Y si tocamos de nuevo a NVIDIA, los han criticado (mas bien al jefe en sus presentaciones) cuando dice cosa como que “invertaron los shaders programables”, cuando quien lo hizo fue Silicon Graphics, y hasta aplicado en el Nintendo 64!! o el GPU por el Transform & Lightning, cuando igual fue silicon graphics, nvidia lo que hizo fue integrarlo todo en un chip. O de los shaders unificados con las serie GF8000, cuando el primer GPU de este tipo es el que tiene la Xbox 360, salido año y medio antes y desarrollado por ATI, que al dedicar muhcos de sus ingenieros a esto de la consola ($), demoraron en trasladarlo al entorno PC medio año despues de las GF8 de nvidia.

    Saliendonos de los graficos, y veas que en la industria esta, esto pasa con todos, otro ejemplo es el multitouch, que Apple decia que lo habian inventado y hasta patentaron, cuando eso estaba inventado de inicio de los 90 por otros investigadores. por no decir unas cuantas mas, solo ver sus presentaciones, y con conocimiento, es para reirse de unas cuantas cosas.

    Y asi muchos casos de tecnologias

    usar efectivamente el raytracing para los grafiocs en juegos es un paso imporante que se iba a dar como fuera cuando se tuviera una tecnologia adecuada. es algo que todos vienen trabajando hace años, NVIDIA dio el primer paso en el mercado, hemos visto la reacciones, las malas y las buenas, pero que viene, viene, y llegara mas a todos, pues los fabrcantes sacaran lo que vienen cocinando hace rato, pero es fundamental la estandarizacion por lo mneos a mayor nivel (DirectX 12 DXR e inicialemnte, extensiones en Vulkan) para que no se arme la rechoalrta y con tanto enrredo les compliquen el asunto y sea dificl de irse adoptanto, lo que retrazaria su desarrollo, expansion y reduccion de coste.

Marshmello · 18 enero, 2019 a las 10:44 am

jajaja amd como siempre corriendo

    Maikel · 18 enero, 2019 a las 10:57 am

    no tanto corriendo, pero si haciendo que se pueda usar un simialr al DLSS de NVIDIA de una forma estandar para todos, via la nueva API DirecML de Directx 12, sin usar ninguna tecnologia propietaria o clavada a un hardware especifico

    por supuesto, siendo estandar, NVIDIA puede reencausar el uso de DX12 MDL de alguna forma a sus tensor cores y ejecutarlo para el juego que lo use, a fin de cuentas y de manera similar RTX es una capa por debajo de DirectX 12 DXR, especifica para su hardware

    a menos que se ponga de nuevo a la onda que tenia G-Syn vs A-Sync, que ya vemos como va acabando

    y todos los reportes indican que AMD esta en lo mismo con el RT, hacerlo más general, no atado a un hardware, por lo menos a nivel de software para uso de los desarrolladores, luego como se haga en hardware (como RXT) es otra cosa

    todo esto, bueno, ya se vera mas adelante que sale

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *