S9 LSE IA embarquée

Présentation

Ce cours permet d'aborder les problèmes logiciels liés à la synthèse d'une application IA sur un FPGA-SOC. Les transformations à partir de spécifications de haut niveau jusqu'à une réalisation architecturale sont abordées sous des aspects théoriques (ordonnancement, allocation, complexité, structure à modéliser) et sous des aspects plus pragmatiques avec des études et des utilisations de chaînes de conception commerciales (ou universitaires) permettant d'aborder les  techniques de co-design et de synthèse matérielle. Des applications de classification reposant sur l’apprentissage profond (ex CNN)  pourront être développées et implémentées sur FPGA à titre d’exemple.

Objectifs

Comprendre le flot global permettant de migrer d'une spécification comportementale de haut niveau vers une implémentation mixte matérielle/logiciel sur support hybride. Comprendre la nature des contraintes possibles, exprimer les contraintes fonctionnelles et non fonctionnelles.  et élaborer des schémas de mise en œuvre d'une implémentation conjointe logicielle/matérielle

Cas d’études issus du domaine de l’IA. Comprendre la mise en place d’algorithmes de décision, de classification, d’apprentissage et diagnostic et comprendre les défis pour les embarquer.

Descriptif

Techniques de compilation spécifiques pour la mise en place d’accélérateurs matériels pour des applications d’IA: 

  • Synthèse système et co-design: partitionnement logiciel/matériel et mapping sur un SOC, exploration architecturale . Synthèse de haut-niveau, les principes: techniques de compilation, CDFG, algorithmes d'ordonnancement, allocation, traitement des boucles
  • Mise en relation avec des champs applicatifs de l’IA (Etude des mises en place de diagnostic, de prise de décision et de classifieurs, d’apprentissage profond). Etude de quelques mises en oeuvres matérielles spécifiques (ex CNN).

Illustration sur des projets/outils permettant l'implémentation sur plateforme hétérogène type MPSoC (ex carte ZedBoard de Xilinx ) et interface avec des logiciels de mises en place d’algorithme IA

Bibliographie

Synthesis and Optimization of Digital Circuits, Giovanni De Micheli, McGraw-Hill, 1994

Embedded System Design, Modeling, Synthesis and Verification, Daniel Gajski and al. , Springer 2009 

Langue d'enseignement

Français avec aide ponctuelle en anglais