Étude comparée et simulation d'algorithmes de branchements pour le GPGPU
Résumé
L'accélération d'applications généralistes à l'aide de processeurs graphiques (GPGPU) permet d'obtenir de bonnes performances pour un faible investissement. Toutefois, la structure interne de ces processeurs est largement inconnue et les compteurs de performances ne sont que peu ou pas accessibles. Cette absence contraint fortement les développeurs dans les optimisations qu'ils peuvent mettre en place pour ces architectures. Une solution est de simuler le comportement d'un programme afin de recueillir des statistiques d'exécution. Dans cet article nous présentons d'une part un simulateur fonctionnel de processeur graphique ciblé pour le GPGPU basé sur l'envi- ronnement de simulation modulaire UNISIM prenant en entré du code binaire CUDA pour processeurs NVIDIA. D'autre part, nous exposons la problématique de la gestion des branchements par prédication pour les architectures SIMD et effectuons un état de l'art des différentes solutions adoptées par les principaux constructeurs de GPU. Enfin, nous proposons une technique matérielle originale de suivi des branchements permettant de simplifier le jeu d'instructions utilisé, et la validons au moyen du simulateur.
Domaines
Architectures Matérielles [cs.AR]
Origine : Fichiers produits par l'(les) auteur(s)