Détail d'une fiche   Version PDF

COMPSYS (SR0727VR)

Compilation et systèmes embarqués de calcul

COMPSYS (SR0019IR) →  COMPSYS


Statut: Terminée

Responsable : Alain Darte

Mots-clés de "A - Thèmes de recherche en Sciences du numérique - 2023" : Aucun mot-clé.

Mots-clés de "B - Autres sciences et domaines d'application - 2023" : Aucun mot-clé.

Domaine : Algorithmique, programmation, logiciels et architectures
Thème : Architecture, langages et compilation

Période : 01/01/2016 -> 31/12/2016
Dates d'évaluation :

Etablissement(s) de rattachement : CNRS, ENS LYON, U. LYON 1 (UCBL)
Laboratoire(s) partenaire(s) : LIP (UMR5668)

CRI : Centre Inria de Lyon
Localisation : Ecole normale supérieure de Lyon - Laboratoire de l'Informatique du Parallélisme (LIP)
Code structure Inria : 071007-0

Numéro RNSR : 200418268U
N° de structure Inria: SR0727VR

Présentation

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.

Relations industrielles et internationales