Détail d'une fiche   Version PDF

CASH (SR0874DR)

Compilation et Analyse, Logiciel et Matériel

CASH (SR0838ER) →  CASH


Statut: Décision signée

Responsable : Matthieu Moy

Mots-clés de "A - Thèmes de recherche en Sciences du numérique - 2023" : A2.1. Langages de programmation , A2.1.1. Sémantique des langages de programmation , A2.1.2. Programmation impérative , A2.1.4. Programmation fonctionnelle , A2.1.6. Programmation concurrente , A2.1.7. Programmation distribuée , A2.1.10. Langages dédiés , A2.1.11. Langages de preuve , A2.2. Compilation , A2.2.1. Analyse statique , A2.2.2. Modèles mémoire , A2.2.3. Gestion mémoire , A2.2.4. Architectures parallèles , A2.2.5. Environnements d'exécution , A2.2.6. GPGPU, FPGA... , A2.2.8. Génération de code , A2.3.1. Systèmes embarqués , A2.4. Méthodes formelles pour vérification, sureté, certification , A2.4.1. Analyse , A2.4.2. Model-checking , A2.4.3. Preuves , A2.5.3. Génie logiciel empirique , A2.5.4. Maintenance, évolution , A7.2.1. Procédures de décision , A7.2.3. Assistants de preuve

Mots-clés de "B - Autres sciences et domaines d'application - 2023" : B9.5.1. Informatique

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

Période : 01/06/2019 -> 31/12/2025
Dates d'évaluation : 19/03/2020

Etablissement(s) de rattachement : U. LYON 1 (UCBL), ENS LYON, CNRS
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 : 121019-0

Numéro RNSR : 201822804N
N° de structure Inria: SR0874DR

Présentation

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.

Relations industrielles et internationales