Méthodes d’optimisation combinatoire pour l’ordonnancement d’expressions arithmétiques sous contraintes de registres
Institution:
Université de Versailles-Saint-Quentin-en-YvelinesDisciplines:
Directors:
Abstract EN:
If it is trivial to say that improving the performances of computer has always been a major objective since the appearance of the first "modern computers", during the first years this objective was limited to the physical improvement of machines. However, as architectures became more and more sophisticated, the problem of exploiting the capacities offered by these architectures became a fundamental problem. Finally, a report is essential : as material architectures improve, our control of this growing power shades off. In this context, the work exposed in this thesis consists in isolating a class of problems related to code optimization and exploring some of their algorithmic and combinatorial aspects. More precisely, we focus on certain scheduling instructions problems, when the code to be optimized corresponds to an arithmetic expression. This kind of problems has already een dealt with in the past, but our approach is original in the sense that it consists in exploiting a characteristic of the arithmetic expressions commonly encountered in scientific computation: the presence of several occurrences of some initial values in the arithmetic expression that is considered.
Abstract FR:
S'il est trivial d'affirmer que l'amélioration des performances de calcul a toujours été un objectif primordial depuis l'apparition des premiers calculateurs "modernes", pendant les premières années, la poursuite de cet objectif s'est limité au perfectionnement physique des machines de l'époque. Cependant, les architectures rivalisant de sophistication, le problème s'est rapidement posé d'exploiter au mieux les capacités offertes par ces machines. Un constat s'impose finalement : au fur et mesure que les architectures matérielles se perfectionnent, notre maîtrise de cette puissance grandissante se dégrade. Dans ce cadre varié, le travail exposé dans cette thèse consiste à isoler une classe de problèmes liée à l'optimisation de code et à en explorer certains aspects algorithmiques et combinatoires. Plus précisément, nous nous intéressons à certaines techniques d'ordonnancement d'instructions, lorsque le code à optimiser correspond à une expression arithmétique. Ce type de problèmes a déjà été traité par le passé, mais l'originalité de l'approche présentée ici consiste à exploiter une particularité des expressions arithmétiques communément rencontrées dans le calcul scientifique : la présence de plusieurs occurrences de certaines valeurs initiales dans l'expression arithmétique considérée.