Sites Inria

English version

Equipe de recherche COMPSYS

Compilation et systèmes embarqués de calcul

  • Responsable : Alain Darte
  • Centre(s) de recherche : CRI Grenoble - Rhône-Alpes
  • Domaine : Algorithmique, programmation, logiciels et architectures
  • Thème : Architecture, langages et compilation
  • Partenaire(s) : CNRS,Ecole normale supérieure de Lyon,Université Claude Bernard (Lyon 1)
  • Collaborateur(s) : Laboratoire de l'Informatique du Parallélisme (LIP) (UMR5668)

Présentation de l'équipe

COMPSYS a été équipe-projet Inria jusqu'en 2015 puis équipe Inria en 2016, commune au Laboratoire de l'Informatique du Parallélisme (LIP). Elle était localisée à l'Ecole Normale Supérieure de Lyon (ENS Lyon).

Compsys a développé des techniques de compilation, plus précisément d'analyse et d'optimisation de code, pour aider à la programmation et à la conception des "systèmes embarqués de calcul" (embedded computing systems) et des plates-formes pour le "petit" HPC (High Performance Computing). L'équipe s'est d'abord concentrée à la fois sur les optimisations de bas niveau (back-end) et sur les transformations de haut niveau (front-end, principalement source à source) pour les processeurs embarqués spécialisés (DSP) et la synthèse de haut niveau d'accélérateurs matériels (FPGA). Ses activités plus récentes ont inclus un glissement vers l'interprétation abstraite et la terminaison de programme, la compilation pour GPU et multicoeurs, et l'analyse des langages parallèles. La caractéristique principale de Compsys a été l'utilisation de méthodes algorithmiques et formelles (algorithmique de graphes, programmation linéaire, optimisations polyédriques) pour traiter de problèmes d'analyse et d'optimisation de code (terminaison, allocation de registres, optimisations mémoire, ordonnancement, génération automatique d'interfaces) et la validation de ces techniques par le développement d'outils de compilation.

 

Axes de recherche

Les dernières directions de recherche de l'équipe étaient:

  • Analyses back-end incluant analyse rapide des durée de vie des scalaires, analyse du vidage en mémoire (spill), analyse des pointeurs et tableaux au niveau back-end.
  • Analyses et optimisations de code polyédriques, incluant analyse des communications pour la déportation de code pour FPGA et GPU, analyse des boucles while, analyse des langages parallèles et des langages de streams (durée de vie des variables scalaires et tableaux, repliement mémoire, détection de races), tiling paramétrique, extensions polynomiales.
  • Rapprochement avec la communauté des utilisateurs du HPC en calcul numérique.

Mots-clés : Compilation Analyse de code Optimisation de code Optimisation mémoire Optimisation combinatoire Algorithmique Optimisation polyédrique Accélérateurs matériels Synthèse de haut niveau Calcul hautes performances Multicoeur GPU FPGA DSP.

Suivez Inria tout au long de son 50e anniversaire et au-delà !