Efficient Code Generation for Hardware Accelerators by Refining Partially Specified Implementations - Archive ouverte HAL
Thèse Année : 2019

Efficient Code Generation for Hardware Accelerators by Refining Partially Specified Implementations

Génération de code efficace pour accélérateurs matériels par raffinement d’implémentations partiellement spécifiées

Ulysse Beaugnon
  • Fonction : Auteur
  • PersonId : 1059391

Résumé

Compilers looking for an efficient implementation of a function must find which optimizations are the most beneficial. This is a complex problem, especially in the early steps of the compilation process. Each decision may impact the transformations available in subsequent steps. We propose to represent the compilation process as the progressive refinement of a partially specified implementation. All potential decisions are exposed upfront and commute. This allows for making the most discriminative decisions first and for building a performance model aware of which optimizations may be applied in subsequent steps. We apply this approach to the generation of efficient GPU code for linear algebra and yield performance competitive with hand-tuned libraries.
Les compilateurs cherchant à améliorer l’efficacité des programmes doivent déterminer quelles optimisations seront les plus bénéfiques. Ce problème est complexe, surtout lors des premières étapes de la compilation où chaque décision influence les choix disponibles aux étapes suivantes. Nous proposons de représenter la compilation comme le raffinement progressif d’une implémentation partiellement spécifiée. Les décisions possibles sont toutes connues dès le départ et commutent. Cela permet de prendre les décisions les plus importantes en premier et de construire un modèle de performance capable d'anticiper les potentielles optimisations. Nous appliquons cette approche pour générer du code d'algèbre linéaire ciblant des GPU et obtenons des performances comparables aux bibliothèques optimisées à la main.
Fichier principal
Vignette du fichier
phd.pdf (1.12 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

tel-02385303 , version 1 (28-11-2019)
tel-02385303 , version 2 (26-11-2020)

Identifiants

  • HAL Id : tel-02385303 , version 1

Citer

Ulysse Beaugnon. Efficient Code Generation for Hardware Accelerators by Refining Partially Specified Implementations. Programming Languages [cs.PL]. Ecole Normale Superieure de Paris - ENS Paris, 2019. English. ⟨NNT : ⟩. ⟨tel-02385303v1⟩
329 Consultations
634 Téléchargements

Partager

More