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.

Ecriture automatique de noyau de calculs pour calculateurs quantiques

Le cadre de la simulation hamiltonnienne ouvre une nouvelle panoplie d'approches de calcul pour l'informatique quantique. Celle-ci peut être développées dans tous les champs pertinents de l'application de l'informatique quantique, incluant, entre-autres les équations aux dérivées partielles (electro-magnétisme, mécanique des fluides, ...) mais aussi le machine learning quantique, la finance, et de nombreuses approches de résolutions de problèmes d'optimisation (heuristiques ou exactes).
Le but de la thèse est de trouver un cadre où ces approches basées sur les approches de simulation hamiltonienne ou d'encodage par bloc sont faisable et dont leur écriture peut être automatisée.
Cela peut aller jusqu'au prototypage d'un générateur de code que l'on cherchera à tester sur des cas pratiques issus de collaboration avec des partenaire européens (stage de quelques mois dans les équipes).

Support logiciel pour calcul clairsemé

Les performances des calculateurs sont devenues limitées par les déplacements des données dans les domaines de l'IA, du HPC comme dans l'embarqué. Il existe pourtant des accélérateurs matériels qui permettent de traiter des mouvements de données de façon efficace énergétiquement, mais il n'existe pas de langage de programmation qui permette de les mettre en œuvre dans le code supportant les calculs.

C'est au programmeur de configurer explicitement les DMA et utiliser des appels de fonctions pour les transferts de données et analyser les programmes pour en identifier les goulots d'étranglement mémoire.

Par ailleurs les compilateurs ont été conçus dans les années 80, époque à laquelle les mémoires travaillaient à la même fréquence que les cœurs de calcul.

L'objet de cette thèse sera d'intégrer dans un compilateur la possibilité de réaliser des optimisations basées sur les transferts de données.

Architectures de calcul thermodynamique scalables

Les problèmes d'optimisation à grande échelle sont de plus en plus fréquents dans des secteurs tels que la finance, le développement de matériaux, la logistique et l'intelligence artificielle. Ces algorithmes sont généralement réalisés sur des solutions matérielles comprenant des CPU et de GPU. Cependant, à grande échelle, cela peut rapidement se traduire par des temps de latence, de l'énergie et des coûts financiers qui ne sont pas viables. Le calcul thermodynamique est un nouveau paradigme de calcul dans lequel des composants analogiques sont couplés dans un réseau physique. Il promet des implémentations extrêmement efficaces d'algorithmes tels que le recuit simulé, la descente de gradient stochastique et la chaîne de Markov Monte Carlo en utilisant la physique intrinsèque du système. Cependant, il n'existe pas de vision réaliste d'un calculateur thermodynamique programmable et scalable. C'est ce défi ambitieux qui sera abordé dans ce sujet de thèse. Des aspects allant du développement de macroblocs de calcul, de leur partitionnement et de leur interfaçage avec un système numérique à l'adaptation et à la compilation d'algorithmes pour le matériel thermodynamique peuvent être considérés. Un accent particulier sera mis sur la compréhension des compromis nécessaires pour maximiser la scalabilité et la programmabilité des calculateurs thermodynamiques sur des benchmarks d'optimisation à grande échelle et leur comparaison avec des implémentations sur du matériel numérique conventionnel.

Contrats HW/SW pour l’analyse de robustesse aux fautes de processeurs open-source

Cette thèse se concentre sur la cybersécurité des systèmes embarqués, en particulier sur la vulnérabilité des processeurs et des programmes face aux attaques par injection de fautes. Ces attaques perturbent le fonctionnement normal des systèmes, permettant aux attaquants d'exploiter des failles pour accéder à des informations sensibles. Bien que des méthodes formelles aient été développées pour analyser la robustesse des systèmes, elles se limitent souvent à des analyses séparées du matériel et des logiciels, négligeant l'interaction entre les deux.

Le travail proposé vise à formaliser des contrats entre le matériel et le logiciel (HW/SW) spécifiquement pour l'analyse de sécurité contre les injections de fautes. En s'appuyant sur une approche de partitionnement matériel, cette recherche cherche à atténuer les problèmes de scalabilité liés à la complexité des modèles de microarchitecture. Les résultats attendus incluent le développement de techniques et d'outils permettant une vérification efficace de la sécurité des systèmes embarqués, ainsi que la création de contrats qui faciliteront l'évaluation de la conformité des implémentations matérielles et logicielles. Cette approche pourrait également réduire le temps de mise sur le marché des systèmes sécurisés.

Approches logicielles et matérielles pour l'accéleration du traitement des matrices éparses de grande taille

La physique computationnelle, l'intelligence artificielle ou l'analyse de graphes sont autant de domaines reposant sur le traitement de matrices creuses de grande taille. Ce sujet s'inscrit au cœur des enjeux liés au traitement efficace de telles matrices, en explorant une approche systémique, à la fois matérielle et logicielle.

Bien que le traitement des matrices creuses a été étudié d'un point de vue purement logiciel pendant des décennies, ces dernières années, de nombreux accélérateurs matériels dédiés et très spécifiques, ont été proposés pour les données éparses. Ce qui manque, c'est une vision globale de comment exploiter ces accélérateurs, ainsi que le matériel standard tel que les GPUs, pour résoudre efficacement un problème complet. Avant de résoudre un problème matriciel, il est courant d'effectuer un prétraitement de la matrice. Il peut s'agir de techniques visant à améliorer la stabilité numérique, à ajuster la forme de la matrice et à la diviser en sous-matrices plus petites (tuilage) qui peuvent être distribuées aux cœurs de traitement. Dans le passé, ce prétraitement supposait des cœurs de calcul homogènes. De nouvelles approches sont nécessaires pour tirer parti des cœurs hétérogènes, qui peuvent inclure des accélérateurs dédiés et des GPUs. Par exemple, il peut être judicieux de répartir les régions les moins denses sur des accélérateurs spécialisés et d'utiliser des GPUs pour les régions plus denses, bien que cela reste à démontrer. L'objectif de cette thèse est de proposer une vue d'ensemble du traitement des matrices éparses et d'analyser les techniques logicielles nécessaires pour exploiter les accélérateurs. Le candidat s'appuiera sur une plateforme multicœur existante basée sur des cœurs RISC-V et un GPU open-source pour développer un cadre complet et étudiera quelles stratégies sont capables d'exploiter au mieux le matériel disponible.

Dispositifs embarqués pour l'analyse acoustique de signaux naturels en respect de la vie privée

Ce sujet de thèse vise le développement de systèmes embarqué pour l'enregistrement et l'analyse bioacoustique embarqués. Le contexte de déployement urbain pose la question de la privacy : comment conserver la qualité de l'analyse sans jamais enregistrer ou transmettre les sons associés à la voix humaine ?

Constructions à sécurité CCA pour le FHE

Le chiffrement homomorphe (FHE) est un corpus de techniques cryptographiques permettant le calcul directement sur les chiffrés. Depuis ses débuts, il y a une quinzaine d’années, le FHE a fait l’objet de nombreuses recherches en vue d’améliorer son efficacité calculatoire. Toutefois, sur le plan de la sécurité, le FHE pose encore de nombreuses questions. En particulier, tous les FHE utilisés en pratique (BFV, BGV, CKKS et TFHE) n’atteignent que le niveau de sécurité CPA (qui permet essentiellement de se prémunir contre des adversaires dit passifs).

Ces dernières années, plusieurs travaux ont donc étudié la sécurité du FHE dans le régime au-delà de CPA et introduit de nouvelles notions de sécurité (CPAD, FuncCPA, vCCA, vCCAD, …). Ces travaux ont conduit à de nouvelles attaques, de nouvelles constructions et, globalement, une meilleure compréhension de la sécurité du FHE dans ce régime.

Concernant la sécurité CCA, des travaux très récents (2024) ont défini de nouvelles notions strictement plus forte que CCA1 et ont démontré qu’elles pouvaient en théorie être atteintes par des schémas FHE exacts ou approchés. Avec ces avancées comme point de départ, la présente thèse visera à concevoir de nouveau schémas cryptographiques pratiques offrant à la fois de la malléabilité et des propriétés de sécurité CCA, au moins pour des applications spécifiques.

Architecture évolutive de clusters programmables basée sur un réseau sur puce (NoC) pour les applications d'IA futures

Contexte technique et scientifique
L'intelligence artificielle (IA) s'impose aujourd'hui comme un domaine majeur, touchant des secteurs variés tels que la santé, l'automobile, la robotique, et bien d'autres encore. Les architectures matérielles doivent désormais faire face à des exigences toujours plus élevées en matière de puissance de calcul, de faible latence et de flexibilité. Le réseau sur puce (NoC, Network-on-Chip) est une technologie clé pour répondre à ces défis, offrant une interconnexion efficace et scalable au sein de systèmes multiprocesseurs. Cependant, malgré ses avantages, la conception de NoC pose des défis importants, notamment en termes d'optimisation de la latence, de la consommation d’énergie et de l’évolutivité.
Les architectures de clusters programmables s'avèrent particulièrement prometteuses pour l'IA, car elles permettent d’adapter les ressources en fonction des besoins spécifiques des algorithmes d'apprentissage profond et d'autres applications d'IA intensives. En combinant la modularité des clusters avec les avantages des NoC, il est possible de concevoir des systèmes capables de traiter des charges de travail d'IA toujours plus importantes, tout en assurant une efficacité énergétique et une flexibilité maximales.
Description du Sujet
Le sujet de thèse propose la conception d'une architecture de cluster programmable, scalable, basée sur un réseau sur puce, dédiée aux futures applications d'IA. L'objectif principal sera de concevoir et d'optimiser une architecture NoC qui permettra de répondre aux besoins des applications d'IA en termes de calcul intensif et de transmission de données efficace entre les clusters de traitement.
Les travaux de recherche se concentreront sur les aspects suivants :
1. Conception de l'architecture NoC : Développer un réseau sur puce évolutif et programmable qui permette de connecter de manière efficace les différents clusters de traitement de l’IA.
2. Optimisation des performances et de l'efficacité énergétique : Définir des mécanismes pour optimiser la latence et la consommation d'énergie du système, en fonction de la nature des charges de travail d'IA.
3. Flexibilité et programmabilité des clusters : Proposer une architecture modulaire et programmable permettant d’allouer les ressources de manière dynamique selon les besoins spécifiques de chaque application d'IA.
4. Évaluation expérimentale : Implémenter et tester des prototypes de l'architecture proposée pour valider ses performances sur des cas d’utilisation concrets, tels que la classification d'images, la détection d'objets ou le traitement de données en temps réel.
Les résultats de cette recherche pourront contribuer à l’élaboration de systèmes embarqués et de solutions d’IA de pointe, optimisés pour les nouvelles générations d'applications et d’algorithmes d'intelligence artificielle.
Les travaux seront valorisés à travers la rédaction de publications scientifiques dans des conférences et des journaux, ainsi que potentiellement des brevets.

Optimisations matérielles pour une IA générative efficace avec les réseaux Mamba

L'IA générative a le potentiel de transformer diverses industries. Cependant, les modèles actuels de pointe comme les transformers rencontrent des défis significatifs en termes d'efficacité computationnelle et de mémoire, notamment lorsqu'ils sont déployés sur des matériels à ressources limitées. Cette recherche de doctorat vise à résoudre ces problèmes en optimisant les réseaux Mamba pour des applications matérielles. Les réseaux Mamba offrent une alternative prometteuse en réduisant la complexité quadratique des mécanismes d'attention par des choix architecturaux innovants. En utilisant des techniques comme les motifs d'attention éparses et le partage efficace des paramètres, les réseaux Mamba peuvent générer des données de haute qualité avec des besoins en ressources beaucoup plus faibles. La recherche se concentrera sur la mise en œuvre d'optimisations matérielles pour améliorer l'efficacité des réseaux Mamba, les rendant adaptés aux applications en temps réel et aux dispositifs embarqués. Cela inclut l'optimisation des temps de formation et d'inférence, ainsi que l'exploration des accélérations matérielles potentielles. L'objectif est d'avancer le déploiement pratique de l'IA générative dans des domaines à ressources limitées, contribuant ainsi à son adoption plus large et à son impact.

Top