Infrastructures et stratégies de compilation pour parallélisme à grain fin - TEL - Thèses en ligne Access content directly
Theses Year : 1998

Infrastructures and Compilation Strategies for Instruction-Level Parallelism

Infrastructures et stratégies de compilation pour parallélisme à grain fin

Erven Rohou

Abstract

The increasing complexity of processors has led to the development of a large number of code transformations to adapt computations to the hardware architecture. The major difficulty faced by a compiler is to determine the sequence of transformations that will provide the best performance. This sequence depends on the application and the processor considered. The deep interaction between the various code transformations does not allow to find a static solution. We propose an iterative approach to compilation to solve this problem: each optimization module can revisit the decisions made by another module. These modules can communicate information about the properties of the code they have produced. This approach requires a complete redesign of the structure of current compilers. The realization was only made possible thanks to the software infrastructures that we developed: Salto and SEA. Thanks to these environments, we were able to quickly develop prototypes of compilation strategies. We also show that analysis and optimization should not be limited to the local behavior of a code fragment. On the contrary, the global behavior of the application must be considered, especially for embedded systems.
La complexité croissante des processeurs a conduit au développement d'un grand nombre de transformations de code pour adapter l'organisation des calculs à l'architecture matérielle. La difficulté majeure à laquelle est confronté un compilateur consiste à déterminer la séquence de transformations qui va fournir la meilleure performance. Cette séquence dépend de l'application et du processeur considérés. L'interaction profonde entre les diverses transformations de code ne permet pas de trouver une solution statique. Nous proposons une approche itérative de la compilation pour résoudre ce problème : chaque module d'optimisation peut remettre en cause les décisions prises par un autre module. Ces modules peuvent se communiquer des informations sur les propriétés du code qu'ils ont produit. Cette approche nécessite une refonte complète de la structure des compilateurs actuels. La réalisation n'a été rendue possible que grâce aux infrastructures logicielles que nous avons développées : Salto et SEA. Grâce à ces environnements nous avons pu développer rapidement des prototypes de stratégies de compilation. Nous montrons aussi que l'analyse et l'optimisation ne doivent pas se contenter d'un comportement local à un fragment de code. Au contraire, le comportement global de l'application doit être considéré, en particulier pour les systèmes enfouis.
Fichier principal
Vignette du fichier
these.pdf (1.41 Mo) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

tel-03371774 , version 1 (08-10-2021)

Identifiers

  • HAL Id : tel-03371774 , version 1

Cite

Erven Rohou. Infrastructures et stratégies de compilation pour parallélisme à grain fin. Autre [cs.OH]. Université de Rennes 1, 1998. Français. ⟨NNT : ⟩. ⟨tel-03371774⟩
33 View
117 Download

Share

Gmail Facebook X LinkedIn More