Les chercheurs de Nvidia ont étudié des techniques pour améliorer les performances de traçage de rayons GPU. Un article récemment publié, repéré par 0x22h, considère GPU Subwarp Interleaving comme une technologie avec un bon potentiel pour accélérer le raytracing en temps réel jusqu’à 20 %.
Cependant, pour atteindre ce chiffre d’affaires, certaines améliorations micro-architecturales doivent être mises en place ; sinon, les gains de la technique seront limités. De plus, les modifications requises excluent les architectures GPU telles que Turing (qui a été modifiée, puis utilisée dans l’étude), et Nvidia devra intégrer les modifications dans un nouveau GPU en tant qu’extensions architecturales. Cela signifie que les gains de Subwarp Interleaving ne seront probablement pas visibles avant une génération après Lovelace.
Le lancer de rayons en temps réel ne fera que s’étendre dans le monde des graphiques, et Nvidia continue de s’attaquer au problème des performances RT sous plusieurs angles pour conserver un avantage concurrentiel et un halo marketing. Dans cette optique, une équipe de recherche composée de Sana Damani (Georgia Institute of Technology), Mark Stephenson (Nvidia), Ram Rangan (Nvidia), Daniel Johnson (Nvidia), Rishkul Kulkarni (Nvidia) et Stephen W. Keckler (Nvidia ) ont publié un article qui se révèle très prometteur dans les études de microbenchmark de lancer de rayons.
L’idée principale de l’article est que la façon dont les GPU Nvidia modernes sont conçus entrave les performances RT. « Premièrement, les GPU regroupent les threads en unités, que nous appelons warps, qui récupèrent à partir d’un seul compteur de programme (PC) et s’exécutent en mode SIMT (single instruction, multiple thread) », expliquent les chercheurs. « Deuxièmement, les GPU cachent les décrochages en planifiant simultanément parmi de nombreuses chaînes actives. » Cependant, ces choix de conception entraînent intrinsèquement des problèmes de traçage de rayons en temps réel en raison de la divergence de distorsion, des scénarios de distorsion et de la perte d’efficacité du GPU lorsque le planificateur manque de threads et ne peut plus masquer les blocages.
Apportez le planificateur de subwarp
GPU Subwarp Interleaving est une bonne solution aux situations délicates ci-dessus auxquelles sont confrontés les GPU contemporains surchargés par les déformations et à court de threads. La technique clé est décrite comme suit : « 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. »
Sur un GPU de type Turing à microarchitecture améliorée avec Subwarp Interleaving, les chercheurs ont obtenu ce qu’ils appellent des « gains de performances convaincants », de 6,3 % en moyenne, et jusqu’à 20 % dans les meilleurs cas, dans une suite d’applications avec des charges de travail de lancer de rayons.
Comme nous l’avons mentionné dans l’intro, ces gains de performances RT ne seront pas disponibles pour les familles de GPU existantes. Vous n’obtiendrez donc pas une augmentation de 20 % grâce à une mise à jour du pilote de votre carte GeForce actuelle. Cependant, ces mouvements en arrière-plan sont essentiels pour les futures architectures GPU. Il faut donc supposer que GPU Subwarp Interleaving est l’un des nombreux projets de fond sur lesquels Nvidia travaille pour faire avancer les générations futures. En fait, cela peut être aggravé par d’autres avancées GPU qui sont arrivées à Ampere et arrivent à Lovelace, avant que cette amélioration microarchitecturale particulière n’arrive à expédier des GPU.