Partager

Automatiser pour accélérer la conception

Le CEA-List développe un environnement d’aide à la conception et à la validation des modèles qui facilite la mise en œuvre de preuves de concept. L’objectif de cette automatisation des processus de conception est de stimuler l’adoption par le marché de ces systèmes numériques de haute performance de nouvelle génération.

Le CEA-List développe un ensemble d’outils d’aide à la conception (prototypage, exploration d’espace de conception, analyse, génération de modèles) et à la validation (simulation, analyse de code, analyse de performance, etc.) qui facilite l’implémentation et l’optimisation des nouvelles architectures. Ces outils permettent de réaliser des preuves de concept virtuelles d’architectures logicielles et matérielles de calcul sur les technologies existantes et/ou futures et de valoriser les modèles.

Il est possible de modéliser les contraintes d’environnement logiciel pour optimiser l’outillage d’exécution (compilateurs, runtime, bibliothèques).

Focus 1

Une expertise en méthode formelle reconnue

Le List a développé un savoir-faire dans les méthodes formelles de modélisation et de vérification de code, à la fois au niveau logiciel et matériel.

Côté logiciel, les deux outils phares de vérification formelles sont Frama-C, pour l’analyse de code C et BINSEC, pour l’analyse de code exécutable binaire. Le lien avec les spécificités matérielles des architectures (jeux d’instructions, opérateurs dédiés) est assuré par des décodeurs issus de l’outil d’analyse dynamique de code binaire UniSIM-VP.

Le framework LEAF permet quant à lui la vérification formelle de propriétés temporelles et de sécurité de l’ensemble logiciel et matériel d’un système embarqué.

Cette expertise est mobilisée par le programme, notamment pour valider les propriétés fonctionnelles et extra-fonctionnelles dans l’objectif d’adapter le logiciel à l’environnement matériel, conformément aux spécifications au niveau du système.

Focus 2

Un environnement complet pour la simulation & l’exploration d’architecture

La conception d’architectures de calcul numériques étant de plus en plus complexe, le nombre de paramètres à prendre en compte croit et il est nécessaire d’explorer rapidement l’espace des possibles pour trouver la meilleure configuration. Les équipes développent et utilisent les outils VPSim (prototypage virtuel et simulation) & A-DECA (exploration automatique de l’espace de conception), pour accompagner la conception d’architectures numériques issues des travaux de recherche. VPSim permet ainsi la simulation et la validation rapide des systèmes complexes avec le meilleur compromis entre le temps d’exécution de la simulation et la précision des paramètres évalués. Il fournit ainsi une évaluation fidèle des différentes performances du système.

A-DECA (Automated Design space Exploration for Computing Architectures) est un outil d’aide à la décision modulaire qui s’interface avec des simulateurs (en particulier VPSim) et combine les résultats avec des formulations analytiques pour une évaluation pertinente des architectures. Il permet l’exploration automatique et efficace de l’espace de conception en intégrant les différentes contraintes et objectifs de conception traditionnels (performance, consommation, surface) ainsi que des critères innovants comme la sécurité et l’empreinte environnemental. Son but est de proposer des configurations pertinentes répondant à des critères d’optimisation multi-objectifs.

Simuler précisément les propriétés extra-fonctionnelles telles que la performance ou la consommation est un enjeu clé de la simulation et l’exploration d’architectures numériques. Le CEA-List développe kMLeon, un outil permettant de générer automatiquement par apprentissage machine des modèles représentatifs de ces propriétés qui, couplés à des modèles fonctionnels, rendent la simulation d’architectures numériques plus précise. Le CEA-List cherche ainsi à exploiter au mieux les technologies d’intelligence artificielle au service de la conception d’architectures de calcul.

Les technologies mises en œuvre

Les technologies utilisées par le CEA-List sont nombreuses et variées :

  • Software Defined Computing : codesign software/hardware pour les chiplets.
  • Frama-C, Binsec, Unisim.
  • VPSim, A-DECA.
  • kMLeon, pour la modélisation des propriétés extra-fonctionnelles à l’aide de l’IA et du machine learning.
  • PolyGraph : le modèle de calcul PolyGraph permet de définir rigoureusement la sémantique des interactions temporelles entre des composants logiciels, pour analyser hors-ligne des propriétés cruciales comme l’ordonnançabilité, ou la latence de réaction, des systèmes temps-réel distribués.

Les programmes européens

  • EPI (European Processor Initiative) SGA1 & SGA2 : le CEA-List contribue à l’écosystème européen du calcul haute performance en développant VPSim pour simuler l’architecture du processeur européen et A-DECA pour explorer automatiquement l’espace de conception, facilitant ainsi l’intégration entre applications et architecture de calcul.
  • The European Pilot : dans le contexte du développement d’un pilote pour le calcul haute performance en Europe, le CEA-List utilise le framework LEAF pour mettre en place un analyseur d’interférences mémoires.
  • Tristan : le projet vise à fournir des blocs de base open-source matériels et logiciels associés afin d’étendre et mûrir l’écosystème RISC-V européen, et ainsi concurrencer les alternatives commerciales/propriétaires existantes. Le CEA-List exploite son outil de génération automatique de modèles kMLeon pour estimer la performance d’architectures matérielles à base de CVA6.
  • Projet France 2030 – SoC planner : le CEA-List contribue avec A-DECA au développement d’une suite d’outils de conception permettant la configuration et la planification automatique des prochaines générations de SoC, assurant des compromis optimaux entre coûts et performance, tout en intégrant des critères d’écoconception essentiels.
  • Nimble-AI : le CEA-List fourni des solutions de calcul proches mémoire pour l’acquisition de données et le traitement neuromorphique dans un circuit intégré 3D.

Avec l’augmentation croissante des besoins en calcul numérique, en particulier tirés par l’essor des applications faisant appel à l’intelligence artificielle, nous devons repenser les processus de développement et proposer des méthodologies innovantes et des outils performants pour simplifier la conception des nouvelles architectures.

À lire également

Programmes de recherche

Calcul et Architecture numérique

Le CEA-List travaille au développement de nouvelles générations d’architectures, modulaires et adaptées au calcul centré sur les données.
Lire la suite
Programmes de recherche

Les architectures pour le calcul hétérogène

Les équipes du CEA-List conçoivent de nouvelles architectures de composants, à base de chiplets reliés entre eux par des connexions ultrarapides.
Lire la suite
Programmes de recherche

Accélérer le calcul centré sur les données

Les équipes du programme CAN conçoivent des architectures intégrant les fonctions de calcul directement dans les mémoires et dans les capteurs.
Lire la suite