Génération assistée par l'IA de simulateurs d’architectures numériques

Les outils de simulation d'architectures numériques reposent sur divers types de modèles, de niveaux d’abstraction différents, afin de répondre aux exigences de la co-conception et de la co-validation matériel/logiciel. Parmi ces modèles, ceux de plus haut niveau permettent la validation fonctionnelle rapide de logiciels sur les architectures cibles.

Ces modèles fonctionnels sont souvent élaborés de manière manuelle, une tâche à la fois fastidieuse et sujette aux erreurs. Lorsque des descriptions de bas niveau en RTL (Register Transfer Level) sont disponibles, elles deviennent une source à partir de laquelle des modèles de plus haut niveau, tels que les modèles fonctionnels, ou simulateurs rapides, peuvent être déduits. Des travaux préliminaires au CEA ont permis d'obtenir un prototype initial basé sur MLIR (Multi-Level Intermediate Representation), démontrant des résultats prometteurs dans la génération de fonctions d'exécution d'instructions à partir de descriptions RTL.

L'objectif de cette thèse est d'approfondir ces travaux, puis d'automatiser l'extraction des états architecturaux en s'inspirant des dernières avancées en matière d'apprentissage automatique pour l'EDA. Le résultat attendu est un flot complet de génération automatique de simulateurs fonctionnels à partir de RTL, garantissant ainsi, par construction, une consistance sémantique entre les deux niveaux d'abstraction.

Conception et analyse de rétroactions basées sur des canaux auxiliaires pour la découverte de vulnérabilités

Le fuzzing est une technique de test dynamique permettant la découverte de vulnérabilités de manière très efficace. Des centaines voire milliers de vulnérabilités sont ainsi détectées (et réparées) chaque année dans les logiciels que nous utilisons. Lorsque que l'on essaye de transposer l'approche fuzzing sur des systèmes embarqués on se retrouve confronté à plusieurs problèmes : le code source n'est pas toujours disponible, très peu d'informations sont disponibles sur le comportement du système à l'exécution et enfin il est difficile de détecter si un bug est apparu. Le laboratoire LTSO développe depuis plusieurs années des techniques à l'état de l'art dans l'analyse des canaux auxiliaires, notamment le rayonnement électromagnétique produit par les systèmes pendant leur fonctionnement. Ces mesures permettent d'inférer des informations (donnée, code exécuté) sur le comportement du système de manière non-intrusive. L'objectif de cette thèse est donc de déterminer si ces mesures side-channel permettent d'améliorer le processus de fuzzing sur les systèmes embarqués. L'utilisation de cette nouvelle source d'information ouvre également la porte à la découverte de nouvelle classes de vulnérabilités, comme les vulnérabilités micro-architecturales.
La thèse aura lieu au CEA Grenoble, au sein de l'institut du LETI, dans une équipe de recherche dédiée à l'étude et au développement de solutions pour la sécurité des systèmes électroniques présents et futurs (http://www.leti-cea.fr/cea-tech/leti/Pages/recherche-appliquee/infrastructures-de-recherche/plateforme-cybersecurite.aspx).

Algorithmes d’intelligence artificielle générative pour comprendre et contrer la polarisation en ligne

Les plateformes en ligne permettent une large diffusion de l'information, mais leurs modèles économiques centrés sur l'engagement des utilisateurs favorisent souvent la diffusion de contenus politiques idéologiquement homogènes ou controversés. Ces modèles peuvent conduire à la polarisation des opinions politiques et entraver le bon fonctionnement des systèmes démocratiques. Cette thèse étudiera des modèles génératifs d'IA innovants conçus pour comprendre en profondeur la polarisation politique et pour contrer ses effets. Elle mobilisera plusieurs sous-domaines de l'intelligence artificielle : l'apprentissage génératif, l'IA frugale, l'apprentissage continu et l'apprentissage multimédia. Les avancées seront associées aux défis suivants :
-la modélisation de la polarisation politique et l’utilisation du modèle obtenu pour guider les algorithmes d'IA mis en oeuvre ;
-la collecte et le nettoyage de données politiques multimodales massives et diversifiées pour assurer une couverture thématique et temporelle, et la création d’un espace de représentation sémantique commun ;
-la proposition de modèles génératifs orientés politique afin d'encoder les connaissances du domaine de manière efficace et efficiente et de générer des données d'entraînement pour les tâches aval ;
-la spécialisation des modèles pour les tâches spécifiques nécessaires à une compréhension fine de la polarisation (détection de thèmes, reconnaissance d’entités, analyse de sentiments) ;
-la mise à jour continue des modèles génératifs et des tâches spécifiques à la polarisation pour suivre la dynamique des événements et des nouvelles politiques.

Preuve d'équivalence fonctionnelle de codes binaires pour la sécurisation des programmes embarqués

La thèse se place dans le contexte de la cyber-sécurité des systèmes
embarqués et des objets connectés, plus particulièrement de leur
sécurisation contre les attaques physiques (attaques par canal
auxiliaire et attaques par injection de fautes).

Le CEA List développe une chaîne de compilation basée sur LLVM,
COGITO, pour l'application automatisée de contre-mesures contre les
attaques physiques. Deux éléments sont cruciaux pour renforcer la
confiance dans la robustesse des contre-mesures appliqués dans les
programmes binaires compilés :
1. la preuve de robustesse des contre-mesures mises en œuvre,
2. la preuve que l'ajout de contre-mesures au programme cible n'en
modifie pas la fonctionnalité.

Cette thèse ciblera le deuxième point : pouvoir apporter des garanties
formelles sur la conformité fonctionnelle d'un programme sécurisé.
Notre approche visera à prouver l'équivalence fonctionnelle du
programme sécurisé à un autre programme de référence, par exemple le même programme mais dépourvu de contre-mesures. Nous
utiliserons BINSEC (https://binsec.github.io), une plate-forme
open-source d'analyse de code binaire développée au CEA List
s'appuyant sur l'état de l'art en matière d'analyse de code binaire et
de méthodes formelles.

La thèse se déroulera sur le centre de Saclay du CEA List (NanoInnov), dans l'équipe de développement de BINSEC.
Plusieurs séjours sur le centre de Grenoble seront prévus pour assurer une étroite
collaboration avec l'équipe de développement de COGITO.

Combinaison de sur et sous-approximations pour l'analyse de programmes bas-niveau

Parce que l'analyse de programme est un problème indécidable, les analyses statiques se divisent en 2 catégories:
- Les analyses sound, qui calculent une surapproximation de tous les comportements du programme, et permettent de vérifier l'absence d'erreur.
- Les analyses complete, qui calculent une sous-approximation des comportements possibles du programme, et permettent de trouver des erreurs.

Le but de la thèse est d'étudier cette combinaison de ces techniques pour l'analyse statique de programmes bas-niveau, en particulier des exécutables binaires, en ciblant notamment les analyses de la mémoires et du flot de contrôle, qui sont les informations capitales pour comprendre les comportements possibles d'un binaire.

[POPL'23]: SSA Translation is an Abstract Interpretation, M. Lemerre (Distinguished paper award)
[VMCAI'22]: Lightweight Shape Analysis Based on Physical Types, O. Nicole, M. Lemerre, X. Rival
[RTAS'21]: No Crash, No Exploit: Automated Verification of Embedded Kernels, O. Nicole, M. Lemerre, S. Bardin, X. Rival (best paper award)
[LPAR'18] Arrays Made Simpler: An Efficient, Scalable and Thorough Preprocessing B. Farinier, S. Bardin, R. David, M. Lemerre

Simulation Monte Carlo de la fonction de transfert d’un réacteur nucléaire pour l’exploitation de mesures de bruit neutronique

La population de neutrons dans un réacteur fluctue en raison du caractère aléatoire de l’émission des neutrons et des différentes sources de vibrations mécaniques qui peuvent impacter les sections efficaces neutroniques. Le réacteur peut alors être vu comme un système associé à une fonction de transfert qui relie une excitation (la vibration ou le caractère aléatoire de l’émission des neutrons par fission) à la population de neutrons. L’étude et la mesure de cette fonction de transfert permettent de remonter à des paramètres neutroniques essentiels liés à la cinétique d’émission des neutrons retardés, ou bien même à la source de vibrations. Or, l’expression théorique de cette fonction de transfert est le plus souvent basée sur la cinétique du réacteur ponctuel qui dans certains cas ne permet pas d’exploiter avec fiabilité les mesures réalisées.
Dans ce travail de thèse, on propose d’étudier différentes extensions du formalisme de la fonction de transfert neutronique au moyen de simulations Monte Carlo. Dans un premier temps, on simulera des fluctuations à l’aide d’un code simplifié en C++ afin de confirmer les hypothèses des équations théoriques du « bruit neutronique » qui peuvent être utilisées pour « mesurer » la fraction effective de neutrons retardés. Dans un second temps, il s’agira d’utiliser des outils plus fidèles à la réalité couplant un transport des neutrons dans la matière "analogue" (c’est à dire au plus proche de la réalité) par méthode Monte Carlo (TRIPOLI-4) à un code simulant l’émission détaillée des neutrons (FIFRELIN) afin d’interpréter des mesures passées. Enfin, un dernier volet de la thèse sera dédié aux applications pratiques que pourraient avoir la mesure de ces fluctuations dans l’exploitation de petits réacteurs.

Implémentation d’algorithmes parallèles sur GPU pour les simulations du combustible nucléaire sur supercalculateurs exaflopiques

Dans un contexte où le calcul haute performance (HPC) est en perpétuelle évolution, le design des nouveaux supercalculateurs tend à intégrer toujours plus d’accélérateurs ou de cartes graphiques (GPU). L'un des enjeux majeurs des prochaines années est la refonte des algorithmes et le portage des codes de simulation numérique sur cartes graphiques. Ceci demande de revisiter les codes de simulation actuels, en particulier les codes de simulation modélisant le comportement du combustible nucléaire.

Depuis plusieurs années, le CEA a développé la plateforme de calcul PLEIADES dédiée à la simulation du comportement des combustibles, depuis la fabrication jusqu’au comportement en réacteur, puis lors du stockage. Elle inclut une parallélisation en mémoire distribuée MPI permettant une parallélisation sur plusieurs centaines de cœurs. Cette plateforme répond aux exigences des partenaires du CEA que sont EDF et Framatome, mais il est nécessaire de l’adapter pour les nouvelles infrastructures de calcul. Proposer une solution flexible, portable et performante pour les simulations sur des supercalculateurs équipés de GPU est d'un intérêt majeur afin de capturer des physiques toujours plus complexes sur des simulations comportant des domaines de calcul toujours plus grands.

Dans ce cadre, la thèse visera d’élaborer puis évaluer différentes stratégies de portage de noyaux de calculs sur GPU et l’utilisation de méthodes de répartition dynamique de la charge adaptés aux supercalculateurs GPUs actuels et futurs.

Le candidat s’appuiera sur des outils développés au CEA comme les solveurs thermo-mécaniques MFEM-MGIS [1,2] ou MANTA [3]. Une étape importante consistera à réaliser de grands calculs de modélisation en 3D du comportement du combustible (modélisation multi-physique d’une pastille). Pour cela, l'étudiant sera amené à implémenter en C++ des solutions pour le GPU en parallélisation hybride MPI+CUDA en investiguant dans un premier temps des stratégies de résolution comme le "matrix-free" et dans un deuxième temps, les méthodes d'équilibrage de charge entre processus MPI. Les solutions apportées sur GPU seront alors évaluées sur les supercalculateurs nationaux comportant des milliers de cœurs de calcul et des GPU afin de s’assurer du passage à l’échelle.

Le candidat travaillera au sein du département d'études des combustibles (Institut IRESNE, CEA Cadarache). Il sera amené à évoluer dans une équipe pluridisciplinaire composée de mathématiciens, physiciens, mécaniciens et informaticiens. A terme, les contributions de la thèse visent à enrichir la plate-forme numérique PLEIADES. L'objectif est ainsi de mettre en place les outils informatiques qui permettront dans quelques années de modéliser en 3D le comportement des crayons combustibles sur des résolutions inaccessibles pour le moment.

Références :

[1] MFEM-MGIS web site - https://github.com/thelfer/mfem-mgis
[2] Th. Helfer, G. Latu. « MFEM-MGIS-MFRONT, a HPC mini-application targeting nonlinear thermo-mechanical simulations of nuclear fuels at mesoscale ». IAEA Technical Meeting on the Development and Application of Open-Source Modelling and Simulation Tools for Nuclear Reactors, June 2022, https://conferences.iaea.org/event/247/contributions/20551/attachments/10969/16119/Abstract_Latu.docx https://conferences.iaea.org/event/247/contributions/20551/attachments/10969/19938/Latu_G_ONCORE.pdf
[3] O. Jamond & al. «MANTA : un code HPC généraliste pour la simulation de problèmes complexes en mécanique », https://hal.science/hal-03688160

Génération assistée de noyaux de calculs complexes en mécanique du solide

Les lois de comportement utilisées dans les simulations numériques décrivent les caractéristiques physiques des matériaux simulés. À mesure que notre compréhension de ces matériaux évolue, la complexité de ces lois augmente.L'intégration de ces lois constitue une étape critique pour la performance et la robustesse des calculs scientifiques. De ce fait, cette étape peut conduire à des développements intrusifs et complexes dans le code.

De nombreuses plateformes numériques telles que FEniCS, FireDrake, FreeFEM, Comsol, proposent des techniques de génération de code à la volée (JIT, pour Just In Time) pour gérer différentes physiques. Cette approche JIT réduit considérablement les temps de mise en oeuvre de nouvelles simulations, offrant ainsi une grande versatilité à l'utilisateur. De plus, elle permet une optimisation spécifique aux cas traités et facilite le portage sur diverses architectures (CPU ou GPU). Enfin, cette approche permet de masquer les détails d'implémentation: une évolution de ces derniers est invisible pour l'utilisateur et est absorbée par la couche de génération de code.

Cependant, ces techniques sont généralement limitées aux étapes d'assemblage des systèmes linéaires à résoudre et n'incluent pas l'étape cruciale d'intégration des lois de comportement.

S'inspirant de l'expérience réussie du projet open-source mgis.fenics [1], cette thèse vise à développer une solution de génération de code à la volée dédiée au code de mécanique des structures de nouvelle génération Manta [2] développé par le CEA. L'objectif est de permettre un couplage fort avec les lois de comportement générées par MFront [3], améliorant ainsi la flexibilité, les performances et la robustesse des simulations numériques.

Le doctorant bénéficiera d'un encadrement de la part des développeurs des codes MFront et Manta (CEA), ainsi que des développeurs du code A-Set (collaboration entre Mines-Paris Tech, Onera, et Safran). Cette collaboration au sein d'une équipe multidisciplinaire offrira un environnement stimulant et enrichissant pour le candidat.

De plus, le travail de thèse sera valorisé par la possibilité de participer à des conférences et de publier des articles dans des revues scientifiques à comité de lecture, offrant une visibilité nationale et internationale aux résultats de la thèse.

[1] https://thelfer.github.io/mgis/web/mgis_fenics.html
[2] MANTA : un code HPC généraliste pour la simulation de problèmes complexes en mécanique. https://hal.science/hal-03688160
[3] https://thelfer.github.io/tfel/web/index.html

rétro-conception automatique de maquettes BIM par apprentissage automatique

Le BIM (Building Information Modelling) ou « maquette numérique du bâtiment » est aujourd’hui devenu un standard dans la gestion des informations d’une usine, d’un bâtiment ou d’une installation industrielle. L’approche BIM est particulièrement adaptée dans les environnements industriels complexes, en particulier pour les installations nucléaires, car il s’avère être un outil pertinent sur tout le cycle de vie de l’installation, que ce soit en phase de conception, de construction, d’exploitation et de démantèlement, en proposant une modélisation partagée, intelligente et structurée.
Cette démarche est centrée sur une maquette 3D, généralement réalisée à partir d’un nuage de points obtenu par lasergrammétrie. La plupart du temps, il est possible d’acquérir en même temps des photos panoramiques. A partir de ce nuage de points, une maquette 3D est, en règle générale, reconstruite pour représenter les équipements présents de manière unitaire en objets solides. Cette étape de reconstruction de la maquette 3D, souvent longue et fastidieuse, est aujourd’hui réalisée manuellement par un projeteur CAO.
Ce sujet de thèse propose de développer une méthode automatique de reconstruction de maquettes BIM à partir de nuages de points par apprentissage automatique et d’analyse d’image, en exploitant à la fois le nuage de points et les photos panoramiques disponibles. Les environnements des installations nucléaires sont composés de procédés en acier ou alliages bien spécifiques, et comportent principalement des équipements de tuyauteries. En couplant le machine learning et le computer vision, en utilisant à la fois des méthodes de clustering et de classification d’une part et de reconnaissance de forme et d’image d’autre part, le travail consiste à identifier directement dans le nuage de points des objets appartenant à des familles d’objets métier de type tuyau, coude, vannes, support, raccords, cuve…, ainsi que certaines de ses métadonnées : le matériau qui les compose, ses propriétés géométriques (diamètre, épaisseur, longueur), son volume et sa masse. Les développements réalisées seront testés et mis en œuvre sur les maquettes d'installations nucléaires en démantèlement.
L’étudiant sera spécialisé en sciences des données (intelligence artificielle, apprentissage automatique, data mining…). Des compétences en computer vision seront appréciées. Les compétences développées en data intelligence au cours de ces travaux d’une part et l’expérience acquise sur le domaine d’application (l'exploitation et le démantèlement d'installations nucléaires) d’autre part seront un atout pour le futur docteur, à l’ère de l’industrie 4.0, où l’essor des nouvelles technologies numériques fait entrevoir de nouvelles perspectives dans toutes les secteurs industriels.

Guidage astucieux des outils de géneration de tests

Le fuzzing est une technique de génération de tests automatisée. Il consiste en une exécution répétée d'un programme avec des entrées générées automatiquement, afin de déclencher des plantages, symptômes de bugs sous-jacents au niveau du code, qui peuvent ensuite être corrigés. Un défi majeur dans ce domaine consiste à passer d’une exploration indistincte du fonctionnement des programmes à un guidage astucieux vers la découverte de bugs importants. Profitant de l’expertise de notre équipe et de nos travaux antérieurs, l'objectif de la thèse est de proposer, mettre en œuvre et évaluer des moyens pour relever ce défi, en tirant avantage de mécanismes de guidage plus fins.

Top