Utilisation du modèle polyédrique pour la synthèse d'architectures pipelinées
Auteur / Autrice : | Antoine Morvan |
Direction : | Patrice Quinton |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 28/06/2013 |
Etablissement(s) : | Cachan, Ecole normale supérieure |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, télécommunications, informatique, signal, systèmes, électronique (Rennes) |
Jury : | Président / Présidente : Philippe Clauss |
Examinateurs / Examinatrices : Erven Rohou, Thierry Michel, Christophe Alias | |
Rapporteurs / Rapporteuses : Philippe Clauss, Jean-Marc Delosme |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Grâce aux progrès réalisés dans le domaine des semi-conducteurs, les plateformes matérielles embarquées sont capables de satisfaire les contraintes de performances d'applications de plus en plus complexes. Cette augmentation conduit à une explosion des coûts de conception, ce qui pousse les concepteurs de ces plateformes à utiliser des outils travaillant à des niveaux d’abstraction plus élevés. Aujourd’hui, les outils de synthèse de haut niveau opèrent sur des descriptions C/C++ pour en générer des accélérateurs matériels spécialisés. Ces outils offrent des gains en productivité significatifs par rapport à la génération précédente, qui opérait sur des descriptions structurelles de l’architecture en VHDL ou Verilog. Ces descriptions algorithmiques doivent être retravaillées pour que les outils puissent générer des circuits performants. Pour faciliter cette tâche, une solution consiste à mettre en œuvre une boite à outils pour des transformations source-à-source orientées synthèse de haut niveau. En particulier, cette thèse s’intéresse aux transformations de boucles, avec pour objectif d’améliorer les performances en exposant des boucles parallèles et en améliorant la localité des accès mémoire. En nous appuyant sur une représentation des boucles dans le modèle polyédrique, nous proposons une approche qui améliore l’applicabilité du pipeline de nids de boucles en vérifiant sa légalité de manière plus précise que les approches existantes. De plus, lorsque la vérification échoue, nous proposons une technique de correction qui insère statiquement des états d’attente pour assurer la légalité du pipeline. Enfin, ce pipeline est mis en œuvre en utilisant une technique de génération de code qui met les nids de boucles à plat. Ces contributions ont été implémentées dans l’infrastructure de compilation source-à-source Gecos, avant d’être appliquées à un ensemble de benchmarks représentatifs des noyaux de calculs cibles de la synthèse de haut niveau. Les résultats montrent un gain en performances significatif, avec un surcoût en surface modéré.