Intel XeSS, la technologie pour obtenir plus de FPS dans les GPU de jeu

Intel® XeSS

Les algorithmes de super-résolution exécutés à partir de GPU Gaming sont devenus le fer de lance de différents Gaming GPU fabricants. Avec l'entrée de Intel à ce marché, ils n'ont pas voulu être laissés pour compte et ont développé leur propre homologue au NVIDIA DLSS et le AMD FSR sous le nom d'Intel Xe Super Sampling. Comment fonctionne l'Intel XeSS et en quoi diffère-t-il de ses concurrents ?

Avec la présentation définitive de ce qui était auparavant connu sous le nom de Xe-HPG et qui a été rebaptisé ARC Alchemist. Intel nous a non seulement parlé de sa nouvelle génération d'architectures graphiques, mais aussi de son engagement envers l'intelligence artificielle pour l'avenir, à la fois dans Processeur et GPU. Dans le cas précis de leurs GPU, ils ont développé un algorithme appelé Intel XeSS, qui vient concurrencer le FSR d'AMD et le DLSS de NVIDIA. Où ils coïncident dans les objectifs, mais pas dans la façon de travailler entre les trois algorithmes.

Pourquoi avons-nous besoin d'algorithmes de super résolution ?

Pajaro Superresolution

Lors du traitement des graphiques, chaque sommet, fragment ou pixel se voit attribuer au moins un fil d'exécution sur le GPU et il faut tenir compte du fait que le nombre de pixels est bien supérieur au nombre de sommets de la scène. Cela signifie que lorsque la résolution est augmentée, ce qui se passe, c'est que nous finissons par augmenter de la même manière la quantité d'instructions à exécuter au sein du GPU, ainsi que ses données, et donc la bande passante augmente également.

Le problème est que cela implique d'avoir un GPU beaucoup plus gros, non seulement en raison de l'augmentation des différentes unités, mais également du fait qu'en exigeant une bande passante plus élevée, cela nécessite également des contrôleurs de mémoire plus complexes. N'oublions pas que ceux-ci sont placés sur le périmètre extérieur de tout processeur et ont donc à voir avec sa taille. Et surtout on ne peut oublier la forte consommation des mémoires utilisées dans les cartes graphiques gaming.

Des algorithmes de super-résolution tels que AMD FSR, Intel Xess et NVIDIA DLSS cherchent à résoudre ce problème. Ils s'appuient sur une augmentation du matériel d'un pourcentage infime, inférieur à 10 %, afin d'atteindre des performances qui, autrement, nécessiteraient traditionnellement de doubler la taille d'un GPU. À tout cela, nous ne pouvons pas oublier le Ray Tracing, dont l'algorithme utilisant même des structures d'accélération telles que BVH fonctionne au niveau du pixel, c'est pourquoi les algorithmes de super-résolution ont été adoptés comme une partie essentielle des graphiques en temps réel.

Qu'est-ce que l'Intel XeSS ?

Qualité Intel Xess

Intel va offrir deux versions de l'Intel XeSS et donc deux algorithmes différents. Dans les deux cas, nous parlons d'un algorithme basé sur le Deep Learning et la vision par ordinateur et donc un réseau de neurones d'inférence est utilisé qui prédit l'image à une résolution plus élevée, avec plus de pixels, à partir d'une résolution inférieure. et donc moins de pixels.

La première variante utilise le SIMD over register ou SWAR que possèdent certains GPU, ce mécanisme consiste en ce que l'ALU 32 bits peut être subdivisée en deux ALU 16 bits exécutant la même instruction ou 4 de 8 bits. Eh bien, le format DP4A consiste à regrouper 4 opérandes de 8 bits dans un registre de 32 bits. Ainsi, l'une des variantes XeSS pourra fonctionner sur les GPU intégrés d'Intel, ainsi que sur n'importe quel GPU prenant en charge ce format, puisqu'Intel le rendra open source.

La deuxième variante de l'Intel XeSS est en revanche plus complexe, car elle fonctionne avec les unités Tensor de l'Intel Arc appelées XMX, mais elle ne fonctionne pas dans les GPU NVIDIA avec Tensor Cores. L'explication d'Intel n'est autre que le fait que NVIDIA garde sous clé le fonctionnement des cœurs de tenseur de son GPU, l'utilisation d'unités XMX et la capacité d'effectuer des calculs matriciels extrêmement rapides requis par les réseaux convolutifs. Comme cela ne fonctionne pas sur les GPU AMD et que les GPU AMD manquent actuellement de telles unités, la deuxième variante serait exclusivement pour les GPU Intel.

En quoi Intel XeSS est-il différent des solutions d'AMD et de NVIDIA ?

Intel XeSS Temporalité

En fait, ce serait entre les deux mondes, puisque malgré le fait qu'il s'agisse d'un solution basée sur le Deep Learning comme NVIDIA, d'Intel, ils ont affirmé qu'ils sont va publier le code de sa mise en œuvre comme AMD l'a fait avec sa FidelityFX Super Resolution. Ainsi, les développeurs peuvent l'appliquer plus facilement dans leurs jeux et applications. C'est une stratégie qui dans le cas de l'algorithme AMD a permis sa mise en œuvre au-delà de ce qui est attendu, comme les émulateurs d'anciennes consoles, Linux/Unix des applications et même des jeux qui n'auraient pas reçu de patch de ce type.

Comme le NVIDIA DLSS, il prend également en compte les données de temporalité, qui sont obtenues à partir des informations des trames précédentes, ce que ne fait pas l'AMD FSR, puisque la solution rouge ne prend que les informations de la trame courante. N'oublions pas non plus que l'algorithme d'AMD n'est pas basé sur l'intelligence artificielle et ne nécessite donc pas de formation contrairement à celui de NVIDIA. Eh bien, Intel a affirmé que XeSS non plus, et c'est là que les choses deviennent intéressantes.

Pourquoi le XeSS n'a-t-il pas besoin de formation ?

Centre de données

L'une des choses qui différencie le XeSS du NVIDIA DLSS est que l'ancien ne nécessite aucune formation . Dans le processus de formation, nous avons deux éléments qui travaillent en même temps, le premier est chargé de prédire et le second de superviser. Lorsqu'une prédiction du réseau de neurones convolutifs est incorrecte, le matériel de supervision renvoie la réponse négative et le réseau de neurones est de plus en plus raffiné jusqu'à ce qu'il apprenne à faire les bonnes prédictions.

Dans un jeu vidéo où aucune image ne se répète, c'est beaucoup plus difficile à faire que dans un film où il y a toujours les mêmes images. C'est pourquoi ce qui est généralement fait est d'entraîner le réseau de neurones avec supervision. Ce qui consiste à exécuter le jeu à haute résolution dans un système, à réduire l'image dans un processus qui ajoute du bruit et à partir de ces données créer un réseau neuronal dans le système qui devra faire l'inférence afin qu'il puisse générer l'image à un niveau supérieur résolution.

Intel déclare qu'avec XeSS aucune formation n'est nécessaire et donc aucune supervision par un système externe n'est nécessaire. La réalité de cette affirmation n'est autre que le processus de formation est effectué dans le propre matériel du GPU au lieu d'être exécuté sur du matériel distant. Pour cela, le GPU fait tourner le jeu dans deux instances simultanées en même temps, l'une agissant en tant que superviseur et dans l'autre le réseau de neurones est réglé. Cela permet à ceux qui implémentent Intel Xess dans leurs jeux et applications d'affiner l'algorithme et de ne pas dépendre de serveurs externes.

Les ingrédients secrets qu'Intel a intégrés dans ses GPU pour le XeSS

Pour accélérer la formation, Intel inclura une série de unités supplémentaires dans le GPU , comme la Sous-échantillonneur , l'unité pour obtenir la même image à une résolution inférieure et celle qui calcule la perte de qualité du signal. Sans oublier le Rétropropagateur , ce qui est essentiel pendant le processus de formation à partir du GPU lui-même. Pour le moment, nous ne savons pas où se trouvent ces unités pour entraîner le réseau de neurones convolutifs, mais nous supposons qu'elles constituent une unité de support en dehors de ce qu'est le moteur de rendu, mais au sein du GPU lui-même.

Les algorithmes de super-résolution utilisent souvent algorithmes de suréchantillonnage dans le processus pour obtenir l'image à une résolution plus élevée. Certains utilisent l'interpolation bicubique, tandis que d'autres comme le FSR utilisent une variante Lanczos, bien que tous fonctionnent sur les unités Shader du GPU et finissent donc par les déclasser. Intel aurait inclus des unités de mise à l'échelle , qui serait capable d'exécuter automatiquement un ou plusieurs algorithmes de suréchantillonnage et libérerait les unités Xe Core SIMD de cette tâche, leur permettant d'être utilisées ailleurs où elles sont également nécessaires.

Donc en conclusion, l'Intel XeSS ajoute une série de matériel supplémentaire que jusqu'à maintenant était sans précédent dans les GPU. Non seulement pour accélérer ces algorithmes, mais aussi pour augmenter la compatibilité et faciliter leur implémentation dans les différents jeux du marché. Que ce soit les dernières nouvelles ou des jeux avec quelques années derrière eux. On peut donc dire qu'Intel avec le XeSS a bien pris note des lacunes et des limites de ses concurrents.