Design Automation and Multi-Objective Optimizations for High-Performance Embedded Software
Automatisation de la conception et optimisations multi-objective pour logiciel embarqués à haute performance
Résumé
This habilitation manuscript presents a decade of research aimed at taming the design complexity of high-performance embedded systems, with contributions along three main research axes.
The first research axis explored is the use of dataflow models of computation to program heterogeneous multicore chips. Contributions include extensions to dataflow semantics and model-based optimizations to automate the deployment of large applications on high-performance computing systems.
The second research axis explores the use of approximations as a tool to reduce the computational complexity of complex systems. Proposed contributions include generic methods for rapidly characterizing hardware and software errors caused by approximations, and techniques for exploiting the resilience of computer vision algorithms to artifacts introduced by lossy image compression.
The third research axis explored concerns the development of frugal artificial agents based on Tangled Program Graphs (TPGs). Contributions in this area aim at accelerating the training of TPGs through parallelization, and at accelerating inference for low-power devices through the generation of dedicated inference code.
Research perspectives that follow the ongoing shift towards multi-objective and multi-constraint design space exploration are presented in the final chapter of the manuscript.
Ce manuscrit d'habilitation présente dix ans de recherche sur la conception des systèmes embarqués de haute performance selon trois axes de recherche.
Le premier axe porte sur l'utilisation de modèles de flux de données de calcul pour programmer des puces hétérogènes multicœurs. Des extensions de la sémantique du flux de données ont été proposées, ainsi que des optimisations basées modèles pour automatiser le déploiement d'applications sur des systèmes de calcul à haute performance.
Le deuxième axe concerne l'utilisation d'approximations pour réduire la complexité de calcul des systèmes complexes. Des méthodes de caractérisation rapide des erreurs causées par les approximations ont été développées, ainsi que des techniques pour exploiter la résilience des algorithmes de vision artificielle aux artefacts de la compression d'images avec perte.
Le troisième axe concerne le développement d'agents artificiels frugaux basés sur les graphes de programmes entremêlés (TPGs). Des contributions ont été proposées pour accélérer l'apprentissage des TPGs grâce à la parallélisation, et pour accélérer l'inférence pour les dispositifs à faible puissance grâce à la génération d'un code d'inférence dédié.
Le dernier chapitre du manuscrit présente les perspectives de recherche ouvertes, notamment l'exploration multi-objectifs et multi-contraintes de l'espace de conception.
Origine | Fichiers produits par l'(les) auteur(s) |
---|