¿Cómo conseguirán las GPU Intel más FPS para igualar a NVIDIA y AMD?

¿Cómo conseguirán las GPU Intel más FPS para igualar a NVIDIA y AMD?

Josep Roca

Los algoritmos de superresolución ejecutados desde las GPU Gaming se han convertido en la punta de lanza de los diferentes fabricantes de GPU Gaming. Con la entrada de Intel a dicho mercado no han querido quedarse atrás y han desarrollado su propia contrapartida al DLSS de NVIDIA y al FSR de AMD bajo en nombre de Intel Xe Super Sampling. ¿Cómo funciona el Intel XeSS y qué diferencias tiene frente a sus rivales?

Junto a la presentación definitiva de lo que antes se conocía como Xe-HPG y que ha sido rebautizado como ARC Alchemist. Intel no solo nos habló de su nueva generación de arquitecturas gráficas, sino de la apuesta por la inteligencia artificial de cara al futuro, tanto en CPU como en GPU. En el caso concreto de sus GPU han desarrollado un algoritmo llamado Intel XeSS, el cual viene a competir frente al FSR de AMD y el DLSS de NVIDIA. Donde coinciden en objetivos, pero no la forma de funcionar entre los tres algoritmos.

 

¿Qué es el Intel XeSS?

Intel XeSS es lo que llamamos un algoritmo de superresolución, el cual consiste en que a partir de una imagen ya generado y usando una serie de algoritmos se obtiene la misma imagen, pero con una resolución mayor, pero sin perder definición. Para entenderlo hemos de partir que cuando aumentamos la cantidad de puntos de color que forman una imagen no sabemos el valor de todos ellos y, por tanto, es necesario buscar un método para ello.

Intel Xess Calidad

Existen muchas maneras de hacerlo, pro principalmente tenemos dos tipos distintos. La primera de ellas es utilizar un algoritmo de reconstrucción general, el cual no requiere aprendizaje por parte del sistema, pero que no dará buenos resultados. El segundo es enseñarle al sistema a ver y reconstruir la escena. Si quieres un símil, piensa que es como si estuvieses aprendiendo a pintar y necesitaras un modelo, hasta que aprendes lo suficiente y ya puede dibujar ese objeto sin tenerlo delante.

 

¿Por qué es necesario?

A la hora de procesar los gráficos, cada vértice, fragmento o pixel tienen asignado como mínimo un hilo de ejecución en la GPU y se ha de tener en cuenta que la cantidad de píxeles es mucho mayor que la cantidad de vértices en la escena. Esto significa que cuando se aumenta de resolución lo que ocurre es que acabamos aumentando de la misma manera la cantidad de instrucciones a ejecutar dentro de la GPU, así como de sus datos y, por tanto, el ancho de banda también aumenta.

Pajaro Superresolución

El problema es que esto implica tener una GPU mucho más grande en tamaño, no solo por el aumento de las diferentes unidades, sino también por el hecho que al requerir un mayor ancho de banda también requiere controladores de memoria más complejos. No olvidemos que estos se colocan en el perímetro exterior de cualquier procesador y, por tanto, tienen que ver con su tamaño. Y en especial no podemos olvidarnos del alto consumo que tienen las memorias que se utilizan en las tarjetas gráficas gaming.

Los algoritmos de superresolución como el AMD FSR, el Intel XeSS y el NVIDIA DLSS buscan solucionar este problema. Se basan en aumentar el hardware en un porcentaje minúsculo, menos del 10%, para poder obtener un rendimiento que de manera tradicional requeriría de otra manera duplicar el tamaño de una GPU. A todo esto no podemos olvidar el Ray Tracing, cuyo algoritmo incluso haciendo uso de las estructuras de aceleración como el BVH funciona a nivel de píxel, de ahí que los algoritmos de superresolución se hayan adoptado como parte esencial de los gráficos a tiempo real.

 

Variantes del Intel XeSS

Intel va a ofrecer dos versiones del Intel XeSS y, por tanto, dos algoritmos distintos bajo el mismo nombre comercial. En ambos casos hablamos de un algoritmo de aprendizaje profundo y visión por computador. Pero se diferencian en como funcionan y con que tarjetas gráficas son compatibles.

Intel XeSS Variantes

 

DP4A

Hasta antes de la aparición de los arrays sistólicos para el cálculo de matrices de forma directa, lo que se hacía era utilizar las unidades vectoriales o SIMD para este tipo de cálculos y estas son las que más abundan en los núcleos de los chips gráficos. No solo eso, sino que además, cada una de las ALU que forman la cadena se puede dividir en una subcadena. A esto se le llama SIMD sobre registro o SWAR. Consiste en que la ALU de 32 bits se puede subdividir en dos ALU de 16 bits realizando la misma instrucción o 4 de 8 bits.

Pues bien, el formato DP4A consiste en agrupar 4 operandos de 8 bits en un registro de 32 bits. Por lo que una de las variantes del XeSS se podrá ejecutar en las GPU integradas de Intel, así como en cualquier GPU que soporte este formato, ya que Intel la hará de código abierto.

 

XMX

La segunda variante del Intel XeSS, en cambio, es más compleja, por el hecho de que funciona haciendo uso de las unidades Tensor de los Intel Arc llamadas XMX, pero no funcionan en las GPU de NVIDIA con Tensor Cores. La explicación por parte de Intel no es otra que NVIDIA mantiene bajo llave la forma de funcionar de los Tensor Cores de sus GPU, el uso de las unidades XMX y la capacidad de ejecutar extremadamente rápida los cálculos con matrices que requieren las redes convolucionales. Dado que no funciona en las GPU de AMD y por el momento las de AMD carecen de este tipo de unidades, la segunda variante sería de empleo exclusivo para las GPU de Intel.

 

Diferencias con NVIDIA DLSS y AMD FSR

En realidad se encontraría entre los dos mundos, ya que pese a que se trata de una solución basada en Aprendizaje profundo como la de NVIDIA desde Intel han afirmado que van a publicar el código de su implementación como ha hecho AMD con su FidelityFX Super Resolution. Por lo que los desarrolladores podrán aplicarlo de manera más fácil en sus juegos y aplicaciones. Se trata de una estrategia que en el caso del algoritmo de AMD ha permitido su implementación más allá de lo esperado, como son emuladores de consolas antiguas, aplicaciones de Linux e incluso juegos que no habrían recibido un parche de este tipo.

Intel XeSS Temporalidad

Al igual que el DLSS de NVIDIA, tiene en cuenta también los datos de temporalidad, los cuales se obtienen a partir de la información de los fotogramas anteriores, esto es algo que no realiza el FSR de AMD, dado que la solución de los rojos solo coge la información del fotograma actual. No olvidemos tampoco que el algoritmo de AMD no se basa en la inteligencia artificial y, por tanto, no requiere de entrenamiento, mientras que el de NVIDIA sí. Pues bien, Intel ha afirmado que XeSS tampoco, y es en este punto donde las cosas se ponen interesantes.

 

¿Por qué el XeSS no necesita entrenar la IA?

Una de las cosas que diferencia el XeSS del DLSS de NVIDIA es que el primero no necesita entrenamiento. En el proceso de entrenamiento tenemos dos elementos funcionando al mismo tiempo, el primero de ellos se encarga de predecir y el segundo de supervisar. Cuando una predicción por parte de la red neuronal convolucional es incorrecta entonces el hardware supervisor le devuelve la respuesta negativa y la red neural se va afinando más y más hasta que aprende a realizar las predicciones correctas.

Data Center

En un videojuego donde no se repite ni un solo fotograma, eso es mucho más difícil de hacer que en una película donde siempre hay los mismos fotogramas. Es por ello que lo que normalmente se suele hacer es entrenar la red neuronal con supervisión. La cual consiste en ejecutar el juego a alta resolución en un sistema, escalar la imagen hacia abajo en un proceso que añade ruido y a partir de esos datos crear una red neural en el sistema que tendrá que hacer la inferencia para que pueda generar la imagen a mayor resolución.

Intel afirma que con XeSS no es necesario el entrenamiento y, por tanto, no es necesaria la supervisión por parte de un sistema externo. La realidad de dicha afirmación no es otra que el proceso de entrenamiento es ejecutado dentro del propio hardware de la GPU  En vez de realizarse en un hardware remoto. Para ello la GPU lo que hace es ejecutar el juego en dos instancias simultáneas al mismo tiempo, una haciendo de supervisor y en la otra se va afinando la red neural. Esto permite a los que implementen el Intel XeSS en sus juegos y aplicaciones poder afinar el algoritmo y no depender de servidores externos.

 

Componentes en los Intel ARC para el XeSS

Para acelerar el entrenamiento, Intel incluirá una serie de unidades adicionales en la GPU, como son el Downsampler, la unidad para obtener la misma imagen a menor resolución y la que calcula la pérdida de calidad de la señal. Por no olvidarnos del Backpropagator, el cual es clave durante el proceso de entrenamiento desde la propia GPU. Por el momento desconocemos donde se encuentran estas unidades para el entrenamiento de la red neuronal convolucional, pero suponemos que son una unidad de apoyo aparte de lo que es el motor de renderizado, aunque dentro de la propia GPU.

Los algoritmos de superresolución suelen utilizar algoritmos de supermuestreo en el proceso para conseguir la imagen a mayor resolución. Algunos hacen uso de interpolación bicúbica, mientras otros como el FSR emplean una variante de Lanczos, aunque todos ellos se ejecutan en las unidades Shader de la GPU y, por tanto, acaban restando potencia a las mismas. Intel habría incluido unidades de escalado, las cuales serían capaces de ejecutar uno o varios algoritmos de supermuestreo de manera automática y liberarían a las unidades SIMD del Xe Core de dicha tarea, permitiendo que estas puedan usarse en otras partes donde también son necesarios.

Por lo que en conclusión, el Intel XeSS añade una serie de hardware adicional que hasta ahora era inédito en las GPU. No solo para acelerar estos algoritmos, sino también para aumentar la compatibilidad y facilitar su implementación en los diferentes juegos que hay en el mercado. Ya sean las últimas novedades o juegos con algunos años a las espaldas. Por lo que se puede decir que Intel con el XeSS ha tomado buena nota de las carencias y limitaciones de sus rivales.

 

Juegos compatibles con Intel XeSS

Para el lanzamiento del Intel XeSS veremos 9 juegos que podrán aumentar su resolución sin sacrificar la tasa de frames. No hay ninguna duda de que la lista crecerá con el tiempo, pero esto dependerá del éxito de las tarjetas gráficas de Intel dentro del mercado gaming. No olvidemos que se trata de un mercado altamente competitivo que ha derivado en un duopolio y las experiencias previas de la compañía en dicho mercado no han sido muy buenas.

Xe SuperSampling Juegos

Por el momento los juegos que tendrán soporte para Intel XeSS son:

  • Death Stranding Director’s Cut
  • Ghostwire: Tokyo
  • Enlisted
  • Shadow of the Tomb Raider
  • Chivalry II
  • Chorus
  • The Masquerade: Bloodhunt
  • Arcageddon
  • The Riftbreaker
  • Hitman III
  • Grid Legends
  • Super People
  • The Settlers
  • Anvil