Ingénieur·e - Post-Doc Développement et Optimisation de l'Outil Preesm H/F - Service Public
- Rennes - 35
- CDD
- Service Public
Les missions du poste
Environnement de travail
Équipe : Intégration au sein de l'équipe SEAMS (6 partenaires internationaux), en collaboration étroite avec les développeurs de PREESM et les experts en accélérateurs matériel.
Outils : PREESM, Spider (runtime associé), SimGrid (pour la simulation multi-noeuds), outils de profiling énergétique.
Cadre : Projet ANR ambitieux avec un fort impact scientifique et industriel.
Références[SEAMS]: https://seams-project.com[SKAO]: https://www.skao.int/en[PREESM]: https://preesm.github.io/
Le projet ANR International SEAMS (Sustainable Energy-Aware hardware-software co-design for SKA) vise à améliorer l'efficacité énergétique des supercalculateurs du Square Kilometer Array Observatory (SKAO), le plus grand radiotélescope au monde.
Dans ce cadre, nous recherchons un·e ingénieur·e informatique pour étendre et optimiser l'outil open-source PREESM, une plateforme de prototypage rapide pour les systèmes embarqués multi-coeurs hétérogènes. PREESM permet de simuler des applications de traitement du signal et de générer du code optimisé pour des architectures complexes (multi-coeurs, GPU, accélérateurs dédiés).
Il repose sur :
- Un modèle de flots de données paramétrés (PiSDF) pour décrire des applications parallèles.
- Un modèle d'architecture système (S-LAM) pour représenter le matériel cible.
- Des workflows automatisés de placement (mapping), ordonnancement et génération de code multi-coeurs.
Votre mission consistera à intégrer les contributions scientifiques du projet SEAMS au logiciel PREESM autour des accélérateurs matériels, afin d'optimiser l'efficacité énergétique des pipelines de traitement de données du SKA.
Missions principales
- Développement et intégration des accélérateurs dans PREESM
- Étendre le modèle d'architecture (S-LAM)** pour supporter les accélérateurs (FPGA, CGRA, NPU) comme cibles d'exécution.
- Développer des générateurs de code dédiés aux accélérateurs, en exploitant l'API PREESM et les bibliothèques logicielles du projet.
- Collaborer avec les partenaires du projet pour valider l'intégration sur des cas d'usage réels (ex. pipelines d'imagerie SKA)
- Optimisation des performances et de l'efficacité énergétique
- Concevoir des méthodes d'ordonnancement adaptatif pour orchestrer les charges de calcul sur des architectures hétérogènes (CPU, GPU, FPGA, CGRA, NPU).
- Évaluer l'impact des accélérateur sur :
- Le temps d'exécution des pipelines SKA.
- La consommation énergétique (via les outils de simulation de PREESM).
- Le temps de développement des applications.
- Documentation et transfert de compétences
- Rédiger des tutoriels et documentations techniques pour les extensions apportées à PREESM.
- Former les équipes du projet à l'utilisation des nouvelles fonctionnalités.
- Contribuer à la maintenance et aux tests du code intégré.
Le profil recherché
Le·a candidat·e devra posséder un diplôme d'ingénieur ou Master en informatique, électronique ou traitement du signal.
Connaissances :
- Maîtrise de la programmation orientée objet (C/C++/Java) et des outils de développement collaboratif (Git, GitHub)
- Connaissance des modèles de flots de données (SDF, PiSDF) et/ou des architectures parallèles (multi-coeurs, GPU, FPGA)
Un petit plus ?
- Expérience avec Eclipse RCP (PREESM est basé sur des plugins Eclipse) ou des outils similaires (ex. LLVM, MLIR, GCC)
- Intérêt pour l'optimisation énergétique et le co-design matériel-logiciel
Langues ?
- Anglais technique obligatoire (collaboration internationale)
- Français courant souhaité
Compétences personnelles :
- Autonomie et rigueur dans la résolution de problèmes complexes.
- Capacité à travailler en équipe pluridisciplinaire (chercheurs, ingénieurs, partenaires industriels).
- Goût pour l'innovation et les défis technologiques.