Base des structures de recherche Inria
Compiler Optimization and Run-time SystEms
CORSE (SR0659SR) → CORSE
Statut:
Décision signée
Responsable :
Fabrice Rastello
Mots-clés de "A - Thèmes de recherche en Sciences du numérique - 2023" :
A1.1.1. Multi-cœurs, pluri-coeurs
, A1.1.2. Accélérateurs matériels (GPGPU, FPGA, DSP, etc.)
, A1.1.3. Modèles memoire
, A1.1.4. HPC
, A1.1.12. Architectures non conventionnelles
, A1.6. Efficacité énergétique
, A2.1.6. Programmation concurrente
, A2.1.7. Programmation distribuée
, A2.1.8. Programmation par aspects
, A2.1.10. Langages dédiés
, 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.2.9. Sécurité par la compilation
, A2.3.2. Systèmes cyber-physiques
, A4.4. Sécurité des équipements et des logiciels
, A7.1. Algorithmique
, A9.6. Aide à la décision
Mots-clés de "B - Autres sciences et domaines d'application - 2023" :
B3.1. Développement durable
, B4.5. Consommation
, B5.3. Nanotechnologies
, B6.1.2. Evolution, maintenance
, B6.6. Systèmes embarqués
, B6.7. Industrie informatique (matériels, équipements...)
, B9.1. Education
Domaine :
Algorithmique, programmation, logiciels et architectures
Thème :
Architecture, langages et compilation
Période :
01/07/2016 ->
31/12/2025
Dates d'évaluation :
19/03/2020 ,
Etablissement(s) de rattachement :
UGA
Laboratoire(s) partenaire(s) :
LIG (UMR5217)
CRI :
Centre Inria de l'Université Grenoble Alpes
Localisation :
Antenne Inria Grenoble - MINATEC
Code structure Inria :
071120-2
Numéro RNSR :
201421151J
N° de structure Inria:
SR0744PR
CORSE est un groupe de recherche qui regroupe plusieurs expertises situées à l'interface entre le logiciel et le matériel comme:l'auto-optimisation de bibliothèques/applications, l'optimisation de compilation, les environnements d'exécution, le debugging/monitoring. Nos domaines d'application incluent la performance (à la fois en terme de vitesse mais aussi de consommation énergétique), la fiabilité, ainsi que l'enseignement de l'informatique. Une de nos activités coeurs concerne le portage et l'optimisation d'applications de "machine learning" sur architectures embarquées haute-performance spécifiques.
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.
Le projet de CORSE est structuré selon trois directions. La premère appartient au domaine de l'analyse et l'optimisation de programme. Cette direction se dérive en:
La seconde appartient au domaine du monitoring, de la vérification et l'application de propriétés à l'exécution. Cette direction se structure comme suit:
La troisème direction appartient au domaine de l'enseignement de la programmation. Cette direction se dérive en:
La position est calculée automatiquement avec les informations dont nous disposons. Si la position n'est pas juste, merci de fournir les coordonnées GPS à web-dgds@inria.fr