Détail d'une fiche   Version PDF

CAMUS (SR0870KR)

Compilation pour les Architectures MUlti-processeurs et multi-coeurS

CAMUS (SR0411YR) →  CAMUS


Statut: Décision signée

Responsable : Philippe Clauss

Mots-clés de "A - Thèmes de recherche en Sciences du numérique - 2024" : A1.1.1. Multi-cœurs, pluri-coeurs , A1.1.4. HPC , A2.1.1. Sémantique des langages de programmation , A2.1.6. Programmation concurrente , A2.2.1. Analyse statique , A2.2.4. Architectures parallèles , A2.2.5. Environnements d'exécution , A2.2.6. GPGPU, FPGA... , A2.2.7. Compilation adaptative , A2.4. Méthodes formelles pour vérification, sureté, certification

Mots-clés de "B - Autres sciences et domaines d'application - 2024" : B4.5.1. Informatique "verte" , B6.1.1. Génie logiciel , B6.6. Systèmes embarqués

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

Période : 01/10/2023 -> 30/09/2027
Dates d'évaluation : 19/03/2020 ,

Etablissement(s) de rattachement : U. STRASBOURG
Laboratoire(s) partenaire(s) : ICUBE (UMR7357)

CRI : Centre Inria de l'Université de Lorraine
Localisation : Icube Illkirch-Graffenstaden - IUT Robert Schuman
Code structure Inria : 051089-1

Numéro RNSR : 200920957V
N° de structure Inria: SR0870KR

Présentation

L'équipe CAMUS se concentre sur le développement, l'adaptation et l'extension de techniques de parallélisation et d'optimisation automatiques et semi-automatiques, ainsi que sur des méthodes de preuve et de certification, afin d'accélérer les applications en utilisant efficacement les plates-formes matérielles multiprocesseurs et multicœurs actuelles et futures.


Axes de recherche

Les activités de recherche de l'équipe sont organisées en trois axes principaux qui sont : (1) l'optimisation semi-automatique et assistée de programmes, (2) l'optimisation entièrement automatique de programmes, et (3) les algorithmes fondamentaux et les outils mathématiques. Les axes (1) et (2) comprennent chacun deux sous-axes : (1.1) transformation interactive de programmes, (1.2) nouvelles constructions de langage, (2.1) systèmes d'exécution et analyse & optimisation dynamiques, et (2.2) analyse statique & optimisation. Chaque axe peut inclure des activités liées à des collaborations interdisciplinaires axées sur le calcul à haute performance.

Bien que les optimisations de code fiables et entièrement automatiques soient généralement les solutions les plus pratiques pour les développeurs, la complexité croissante des logiciels et du matériel a un impact évident sur leur portée et leur efficacité. Bien que les techniques entièrement automatiques puissent être appliquées avec succès dans des contextes restreints, il est souvent avantageux de laisser les développeurs experts prendre eux-mêmes certaines décisions. En outre, certaines connaissances spécialisées, exigences contextuelles et nouveautés matérielles ne peuvent pas être immédiatement intégrées dans les outils automatiques.

Ainsi, outre les optimiseurs automatiques qui jouent indubitablement un rôle important, les optimiseurs semi-automatiques qui fournissent une assistance utile aux développeurs experts sont également essentiels pour atteindre des performances élevées. Il convient de noter que ces outils semi-automatiques doivent idéalement faire appel à des sous-parties entièrement automatiques, notamment des analyseurs de dépendance, des générateurs de code, des vérificateurs de correction ou des évaluateurs de performance, afin d'épargner à l'utilisateur le fardeau de ces tâches et d'élargir le champ d'application des outils. Les outils entièrement automatiques peuvent être utilisés soit comme solutions autonomes, lorsqu'ils ciblent les codes restreints correspondants, soit comme outils satellites pour les environnements semi-automatiques. Les mécanismes entièrement automatiques sont les pièces élémentaires de tout outil d'optimisation semi-automatique plus ambitieux.

Les progrès importants dans l'analyse et la transformation du code sont souvent dus à des algorithmes fondamentaux et à des outils mathématiques qui permettent d'extraire des propriétés importantes des programmes, grâce à une modélisation conceptuelle constructive.


Relations industrielles et internationales

Relation internationales :

  • Réseau d'Excellence Européen HiPEAC
  • Universidad Politécnica de Madrid, Spain
  • Barcelona Supercomputing Center, Spain
  • Washington State University, USA
  • Université de Batna, Algérie

Relations industrielles :

  • Reservoir Labs, New York, USA
  • STMicroelectronics, Grenoble-Crolles, France
  • Kalray, Paris, France
  • Intel, San Diego, CA, USA