Discipline(s) : Infomatique et télécommunications
Optimizing and Parallelizing Compilers
Nature | UE |
---|
Responsables
Steven Derrien
Objectifs
L'objectif du cours est d’une part de dresser un état de l’art des techniques d’optimisation utilisées dans les compilateurs actuels (gcc, icc, llvm), mais aussi d’aborder les principales problématiques de recherche dans ce domaine. Dans une première partie du cours, on s'intéressera aux différents facteurs qui influent sur la performance des applications ainsi qu'aux méthodes et outils qui permettent de détecter un problème. Nous aborderons ensuite les techniques d'optimisation mises en œuvre par un compilateur pour améliorer ces performances. Dans une seconde partie du module , le cours s’intéressera aux techniques d’optimisation et de parallélisation de boucles basées sur la compilation polyédrique. Cette partie s’articulera en deux temps, tout d’abord une présentation des principales transformations de boucles et leur impact sur les performances, pour lesquelles on montrera ensuite comment elles peuvent être automatisées dans un compilateur.
Mots-clés
Architectures de processeurs, arhitectures spécialiséesPrérequis
Bases en architecture des processeur, compilation et systèmesContenu
Aspects de la performance des applications- Mesure de performance: techniques et outils
- Facteurs architecturaux (caches, prédicteur de branchement)
- Facteurs logiciels (interprétation, JIT, précision...)
- Pourquoi/comment optimiser les nids boucles
- Principes de la compilation polyédrique
- Introduction à la parallélisation automatique
Appartient à
Mise à jour le 17 juillet 2017
Contact(s)
Département Informatique
École normale supérieure de RennesCampus de Ker LannAvenue Robert Schuman
35170 BRUZ
Tél. : 02 99 05 52 43
E-mail
Site Internet
École normale supérieure de RennesCampus de Ker LannAvenue Robert Schuman
35170 BRUZ
Tél. : 02 99 05 52 43
Site Internet