Efficient code generation for hardware accelerators by refining partially specified implementation - Archive ouverte HAL
Thèse Année : 2019

Efficient code generation for hardware accelerators by refining partially specified implementation

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

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
Beaugnon-2019-these.pdf (1.17 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

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

Identifiants

  • HAL Id : tel-02385303 , version 2

Citer

Ulysse Beaugnon. Efficient code generation for hardware accelerators by refining partially specified implementation. Programming Languages [cs.PL]. Université Paris sciences et lettres, 2019. English. ⟨NNT : 2019PSLEE050⟩. ⟨tel-02385303v2⟩
329 Consultations
634 Téléchargements

Partager

More