Détail d'une fiche   Version PDF

CORSE (SR0659SR)

compiler optimization and run-time systems

CORSE →  CORSE (SR0744PR)


Statut: Terminée

Responsable : Fabrice Rastello

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/11/2014 -> 01/07/2016
Dates d'évaluation :

Etablissement(s) de rattachement : GRENOBLE INP, UJF (GRENOBLE)
Laboratoire(s) partenaire(s) : LIG (UMR5217)

CRI : Centre Inria de l'Université Grenoble Alpes
Localisation : Centre de recherche Inria de l'Université Grenoble Alpes
Code structure Inria : 071120-1

Numéro RNSR : 201421151J
N° de structure Inria: SR0659SR

Présentation

CORSE est un groupe de recherche qui comporte la double expertise d’optimisation de compilation (compiler optimization) et de systèmes de support à l’exécution (runtime systems). Les objectifs de recherche de CORSE visent à la maximisation de vitesses d’exécution et à la réduction de la consommation énergétique, ce à la fois pour le calcul haute performance et les systèmes embarqués. Les applications ciblées appartiennent notamment aux domaines de la géophysique, des nano-matériaux ou du traitement du signal.

Les langages, les compilateurs ainsi que les supports d’exécution sont des composants clés pour relier les applications au matériel. La puissance de calcul des processeurs est maintenant telle que les applications sont de plus en plus ambitieuses, intensives en calcul et complexes. Dans ce contexte, trois formes de calcul s’imposent pour la prochaine décennie : mobile, dématérialisée (Cloud) et à haute performance. Dans tous les cas, les architectures ciblées montrent une importante diversité et hétérogénéité et ce y compris au sein d’une même puce. La pression et les attentes portées sur les compilateurs et les supports d’exécution, jouant le rôle d’interface entre les applications et le matériel, sont en conséquence de plus en plus fortes. Dans le même temps, principalement à cause du « mur de l’énergie » (energy wall), les architectures deviennent de plus en plus complexes et hiérarchiques, intégrant du parallélisme de manière omniprésente et ce à tout niveau. De plus, la quantité de mémoire par processeur s’amenuise et la consommation énergétique continue à être un problème critique pour les plates-formes du futur. Afin d’adresser le défi de la performance et de la consommation énergétique posés aujourd’hui par l’industrie de l’électronique, les compilateurs et supports d’exécution doivent évoluer et en particulier interagir. L’objectif principal de CORSE est d’adresser ce défi en : 1. enrichissant l’interaction entre le support à l’exécution et le programme par de l’information connue ou analysable par le compilateur ; 2. combinant compilation statique et dynamique.


Axes de recherche

Le projet de CORSE est structuré selon deux directions. La première appartient au domaine des supports d’exécution en l’enrichissant d’interactions fortes avec le compilateur/débogueur. Cette direction se dérive en:

  1. Gestion de la mémoire, localité des données, équilibrage dynamique de charge ;
  2. Usage d’informations sémantiques issues du langage (à domaine spécifique -- DSL) et d’analyse de compilation ;
  3. Unification des techniques de débogue fonctionnel et de débogue de performance.

La seconde direction appartient au domaine de l’analyse et de l’optimisation de compilation avec l’objectif de combiner l’analyse et l’optimisation statique avec des approches dynamiques. Cette direction se dérive en :

  1. Représentation intermédiaire (byte-code) hybride et extensible (parallélisme/niveau-machine) ;
  2. Compilation hybride ; analyse statique/trace ;
  3. Ordonnancement d’instructions et complexité d’entrées/sorties.

Le but de CORSE est d’appuyer ces activités de recherche sur l’optimisation d’applications spécifiques, et ce dans leur globalité. Les applications actuellement considérées appartiennent aux domaines de la mécanique computationnelle, de la physique des matériaux (BigDFT), de la géophysique et de la propagation d’ondes (SPECFEM3D, Onde3D).


Relations industrielles et internationales