Jusqu’à 20 % d’amélioration des performances en ray tracing grâce à une technique baptisée ‘GPU Subwarp Interleaving’

Cette méthode n’est toutefois applicable qu’aux prochaines générations de GPU.

Si le ray tracing est utilisé depuis des décennies dans certains domaines, il a fallu attendre 2018 et le lancement des cartes graphiques RTX 2000 pour le voir se généraliser dans le secteur du jeu vidéo. Aujourd’hui, il est géré matériellement par les cartes graphiques RTX de NVIDIA, les Radeon RX 6000 d’AMD, le SoC des consoles nouvelle génération (PlayStation 5 et Xbox Series X / S) et prochainement par certains smartphones avec l’arrivée du SoC Exynos 2200 de Samsung. Dans tous les cas, sa mise en œuvre en temps réel reste très gourmande. Une équipe de chercheurs a publié un article qui expose une technique permettant d’améliorer les performances : le GPU Subwarp Interleaving.

Image 1 : Jusqu'à 20 % d'amélioration des performances en ray tracing grâce à une technique baptisée 'GPU Subwarp Interleaving'

Dans une série de jeux (dont Battlefield V, Control et Minecraft RTX) et d’applications avec des charges de travail ray tracing, cette technique apporterait des gains de 6,3 % en moyenne, et jusqu’à 20 % dans le meilleur des cas.

Vidéo : NVIDIA promeut son ray tracing RTX via trois vidéos

Une méthode non applicable aux GPU actuels

Avant tout chose, sachez que cette méthode requiert des ajustements micro architecturaux et ne peut donc s’appliquer à nos GPU actuels par une simple mise à jour des pilotes par exemple. De fait, les travaux des auteurs portent justement sur les entraves induites par la conception actuelle des GPU. Pour leurs expérimentations, ils ont utilisé des GPU Turing modifiés.

Image 2 : Jusqu'à 20 % d'amélioration des performances en ray tracing grâce à une technique baptisée 'GPU Subwarp Interleaving'

Ils expliquent :
“Les GPU regroupent les threads en unités, que nous appelons warps, lesquelles acquièrent un PC (program counter) unique et s’exécutent en SIMT (single instruction, multiple thread) Ensuite, les GPU masquent les interruptions en programmant simultanément plusieurs warps actifs”. Or, ce déroulement peut être à l’origine de problèmes dans le ray tracing en temps réel en raison de la diversité des warps, de la rapidité à laquelle ils changent ou encore des scénarios d’absence de warps. Résultat : une perte d’efficacité des GPU lorsque l’ordonnanceur manque de threads.

C’est là que la technique du Subwarp Interleaving peut potentiellement améliorer les choses : “Lorsqu’une opération à longue latence bloque un warp et que le planificateur de warp du GPU ne trouve pas de warp actif vers lequel basculer, un planificateur de subwarp peut à la place basculer l’exécution vers un autre subwarp divergent du warp actuel.”

Image 3 : Jusqu'à 20 % d'amélioration des performances en ray tracing grâce à une technique baptisée 'GPU Subwarp Interleaving'
Image 4 : Jusqu'à 20 % d'amélioration des performances en ray tracing grâce à une technique baptisée 'GPU Subwarp Interleaving'

Sur un GPU Turing dont la micro architecture a été modifiée pour permettre cet “entrelacement” des warps, les chercheurs ont constaté les gains de performance ci-dessous.

Image 5 : Jusqu'à 20 % d'amélioration des performances en ray tracing grâce à une technique baptisée 'GPU Subwarp Interleaving'
Image 6 : Jusqu'à 20 % d'amélioration des performances en ray tracing grâce à une technique baptisée 'GPU Subwarp Interleaving'

L’article a été publié sur le site de NVIDIA et la plupart des auteurs travaillent pour l’entreprise. Il est ainsi tout à fait envisageable qu’elle mette à profit cette approche pour ses prochaines générations de GPU.

Source : NVIDIA via Tom’s Hardware US