DESCRIPTION :
L'objectif principal du poste est de contribuer au développement logiciel de composyx. Le logiciel composyx est une bibliothèque d'algèbre linéaire en C++ axée sur la composabilité. Son objectif est de permettre à l'utilisateur d'exprimer un large éventail d'algorithmes à l'aide d'une interface de haut niveau, allant des prototypes sur ordinateur portable aux calculs parallèles sur des supercalculateurs multi-nœuds.
L'ingénieur recruté s'intégrera au sein de l'équipe de développement de composyx au sein de l'équipe-projet Inria concace.
Ce poste s'inscrit dans le cadre du programme de recherche Numérique pour l'Exascale NumPEx et plus particulièrement dans le projet Exa-MA: Methods and Algorithms for Exascale.
L'objectif principal du programme de recherche Numérique pour l'Exascale (NumPEx) en France est de développer des compétences et des infrastructures de pointe dans le domaine du calcul exascale.
Ces compétences et infrastructures permettront d'effectuer des calculs à une échelle sans précédent, atteignant des performances de l'ordre du quintillion (10^18) d'opérations par seconde.
Le projet Exa-MA: Methods and Algorithms for Exascale se concentre sur les aspects Exascale des méthodes numériques, en garantissant leur adaptabilité au matériel existant et à venir. De plus, il s'agit d'un projet transversal, proposant des méthodes et des outils où la modélisation, les données et l'IA, à travers les algorithmes, sont centrales.
Mission confiée
L'ingénieur recruté fera partie de l'équipe concace sur le site de l'Inria Bordeaux. Il s'intégrera à l'équipe de développement de composyx. Il sera supervisé par Gilles Marait, développeur principal de composyx, ainsi que par Emmanuel Agullo et Luc Giraud pour les aspects scientifiques. Il travaillera également en étroite collaboration avec le sed, en particulier avec Florent Pruvost pour les aspects qualité logicielle (cmake, gitlab-ci, …) et Ludovic Courtès pour les aspects intégration et déploiement avec guix et guix-hpc.
Il participera également au projet national Exa-MA: Methods and Algorithms for Exascale au sein du programme national NumPEx. Il sera donc amené à participer aux réunions du projet. De plus, il pourra réaliser des missions chez les partenaires afin de réaliser l'intégration de composyx dans leurs codes cibles.
Dans ce cadre, voici les missions qui lui seront confiée:
* Développement de briques logicielles parallèles au sein de composyx essentiellement dans les domaines de l'algèbre linéaire et multilinéaire;
* Support à l'intégration de composyx dans les applications cibles d'Exa-MA: Methods and Algorithms for Exascale;
* Toutes les contributions scientifiques de concace auront vocation à être intégrées dans composyx. L'ingénieur appuiera techniquement ces intégrations et sera en support au développement des briques élémentaires., * Conception et développement de nouvelles fonctionnalités pour le logiciel C++ composyx au sein de l'équipe concace, essentiellement dans les domaines de l'algèbre linéaire et multilinéaire parallèle. Les développements suivants seront prioritaires:
+ consolidation de l'interface python (pybind11) de composyx avec l'objectif d'être entièrement compatible avec numpy, scipy et ddmpy;
+ développement d'un solveur multigrille composable au sein de composyx (existant à l'heure actuelle seulement sous la forme de prototype).
* Rédaction de la documentation scientifique et technique des fonctionnalités développées;
* Évaluation des fonctionnalités numériques et de la performance systématique sur les plate-formes de calcul locales, régionales, et nationales.
* Support à l'intégration de composyx dans les applications cibles d'Exa-MA: Methods and Algorithms for Exascale.
Code d'emploi : Ingénieur Logiciel (h/f)
Domaine professionnel actuel : Programmeurs
Niveau de formation : Bac+5
Temps partiel / Temps plein : Plein temps
Type de contrat : Contrat à durée indéterminée (CDI)
Compétences : C ++ (Langage de Programmation), CMake, Qualité Logicielle, Intégration Continue, Outils de Programmation, Python (Langage de Programmation), OpenMP, Architecture Logicielle, SciPy, Conception et Développement de Logiciel, Gitlab, Git, Gitlab ci, Anglais, Adaptabilité, Créativité, Persévérance, Optimisme, Sens de l'Organisation, Fiabilité, Minutie ou Attention aux Détails, Axé sur le Succès, Motivation Personnelle, Algorithmes, Calculs, Conceptualisation, Gestion des Dossiers, Gestion de la Performance, Gestion des Infrastructures, Traduction, Algèbre Linéaire, Programme d'Enseignement Obligatoire, Analyse Numérique, Paradigmes, Réalisation de Prototypes, Publication / Edition, Organisation et Préparation des Réunions
Courriel :
Emmanuel.Agullo@inria.fr
Téléphone :
0524574000
Type d'annonceur : Employeur direct