Sites Inria

English version

Equipe de recherche CASH

Compilation et Analyse, Logiciel et Matériel

Présentation de l'équipe

L'avènement du parallélisme dans les ordinateurs et les supercalculateurs amène de nouveaux besoins en optimisation de code et nécessite de meilleurs compilateurs. Les besoins en calcul performant et efficace énergétiquement ont motivé l'apparition de nouvelles architectures comme les processeurs graphiques (GPU) et plus récemment les pluri-cœurs (many-core) et les puces reconfigurables (FPGA).

Le parallélisme dit « flot de données » (dataflow) est une manière d'approcher le problème. Une application flot de données est constituée d'acteurs qui exécutent les calculs et communiquent avec les autres acteurs. On peut exécuter ces applications de plusieurs manières : comme du logiciel tournant sur un processeur généraliste, sur des accélérateurs comme les GPU ou sous forme d'implantation matérielle que l'on peut utiliser sur FPGA.

L'objectif général de l'équipe CASH est de tirer parti des caractéristiques du matériel spécifique (processeur, accélérateur ou FPGA) pour compiler du logiciel ou du matériel efficace énergétiquement. L'objectif à long terme est de fournir des solutions pour les développeurs, pour leur permettre d'utiliser au mieux ces technologies émergentes.

Axes de recherche

  • Extraire des programmes flots de données depuis des applications séquentielles, tout en structurant les transferts de données.
  • Compilation et ordonnancement de programmes flot de données, en combinant les outils traditionnels dédiés au flot de données et des méthodes spécifiques comme le modèle polyédrique.
  • Analyse statique rapide pour des programmes généralistes, suffisamment efficace pour pouvoir analyser de gros programmes globalement.
  • Application des points précédents pour la synthèse de haut niveau, c'est-à-dire la génération de matériel depuis des programmes écrits dans des langages de haut niveau. Cette activité doit prendre en compte les contraintes liées au FPGA.
  • Simulation de systèmes logiciels/matériels : un environnement parallèle de simulation de systèmes sur puces hétérogènes, qui avec les résultats précédents, permettra un flot de développement de circuits complet.

Mots-clés : Compilation Analyse Logiciel Matériel Parallélisme Flot de données

Suivez Inria