En poursuivant votre navigation sur ce site, vous acceptez le dépôt de cookies dans votre navigateur. (En savoir plus)
Portail > Offres > Offre UMR5502-SYLLOR-001 - Développeur logiciel de calcul scientifique et calcul haute performance pour application biomédicale (H/F)

Développeur logiciel de calcul scientifique et calcul haute performance pour application biomédicale (H/F)

Cette offre est disponible dans les langues suivantes :
Français - Anglais

Assurez-vous que votre profil candidat soit correctement renseigné avant de postuler. Les informations de votre profil complètent celles associées à chaque candidature. Afin d’augmenter votre visibilité sur notre Portail Emploi et ainsi permettre aux recruteurs de consulter votre profil candidat, vous avez la possibilité de déposer votre CV dans notre CVThèque en un clic !

Faites connaître cette offre !

Informations générales

Référence : UMR5502-SYLLOR-001
Lieu de travail : TOULOUSE
Date de publication : mercredi 9 janvier 2019
Type de contrat : CDD Scientifique
Durée du contrat : 14 mois
Date d'embauche prévue : 20 février 2019
Quotité de travail : Temps complet
Rémunération : De 2300 à 2800 € mensuels nets selon expérience
Niveau d'études souhaité : Doctorat
Expérience souhaitée : Indifférent

Missions

Missions: 1 / La première mission est de créer, à partir de la plateforme BMF (cf. "contexte de travail" ci-dessous), un nouveau logiciel, aux standards industriels, que les utilisateurs ayant des compétences minimales en programmation (par exemple, Python) pourraient utiliser seuls. Pour cela, le candidat sélectionné mettra à niveau les spécifications techniques de la plateforme BMF et développera une interface conviviale documentée et polyvalente.
2 / La seconde mission est d'optimiser les capacités HPC du code afin que ses performances atteignent l'échelle d'un cerveau de souris.

Activités

- Optimisation générale du code et montée dans les TRL (Technology Readiness Level). Le modèle de conception générale du logiciel sera modifié pour éliminer les artefacts de développement historiques, pour améliorer la gestion des E / S et pour améliorer la lisibilité et la généricité dans les développements futurs.
- Interface de programmation d'application à plusieurs niveaux (API). Le premier niveau sera basé sur l'introduction de classes C++ de haut niveau qui faciliteront l'utilisation de BMF pour les développeurs tout en masquant les détails du noyau de l'application. Ces modules permettront également d'utiliser facilement BMF à partir d'autres applications C++. Sur la base de ces classes, le deuxième niveau consistera à développer une API vers un langage de niveau supérieur, par exemple Python, basé sur l'une des bibliothèques de couplage C / Python disponibles (par exemple, cython).
- Interface utilisateur graphique (GUI) et package d'installation pour les ressources Linux et MacOS. Une interface graphique sera construite pour permettre aux utilisateurs non spécialisés de la recherche ou des environnements industriels de la R & D d'utiliser le code. Le candidat retenu devra proposer des solutions techniques pour développer cette interface graphique, en comparant les avantages et les inconvénients avec OpenTEA, un moteur graphique basé sur des spécifications XML et des scripts Python simplifiés.
- Optimisation des performances des solveurs et pré-conditionneurs d'algèbre linéaire PETSc pour les structures matricielles spécifiques non creuses associées aux transferts de masse.

Compétences

Compétences techniques : programmation C ++ de haut niveau et programmation python avancée, démontrées par une expérience professionnelle dans le développement logiciel, sont obligatoires. La connaissance de la programmation HPC, de MPI et de la bibliothèque PETSc est également souhaitable. Une expérience dans l'utilisation de SCons, de GIT, de l'intégration continue ou de la programmation Agiles sera appréciée.

Autres : Management de projet, maîtrise de l'anglais, capacité d'adaptation et d'anticipation, autonomie et rigueur. Intérêt démontré pour les sujets à l'interface entre disciplines. Esprit d'équipe.

Diplôme requis : Doctorat

Contexte de travail

Le groupe Milieux Poreux et Biologiques de l'Institut de Mécanique des Fluides de Toulouse recrute un développeur logiciel de haut niveau avec une solide expérience en génie logiciel, calcul scientifique et calcul haute performance. MPB a en effet développé, dans les dernières années, une expertise forte dans la modélisation des écoulements sanguins et des échanges sang/tissu dans la microcirculation sanguine du cerveau (voir http://brainmicroflow.inp-toulouse.fr). Les applications concernent les maladies neurodégénératives (compréhension des mécanismes, diagnostic, suivi, évaluation des stratégies thérapeutiques), avec un fort potentiel de valorisation sociétale.

En particulier, dans le cadre de l'ERC Consolidator BrainMicroFlow (PI S. Lorthois), le groupe MPB a développé un code de calcul haute performance, le code BMF, qui, grâce à une représentation compacte du réseau vasculaire sous forme de graphe, permet de résoudre des problèmes d'écoulement et de transferts, à très haute résolution, à l'échelle du cerveau entier. Il souhaite maintenant, avec le soutien de l'ERC Proof of Concept, transformer le code BMF en un logiciel, aux standards industriels, que des utilisateurs non spécialistes (e.g. ingénieurs biomédicaux, voire biologistes ou médecins) pourraient utiliser seuls.

Code BMF : BMF est un code C ++ de haute qualité, entièrement testé et doté d'une structure HPC basée sur MPI. Il utilise un certain nombre de bibliothèques externes, notamment PETSc pour l'algèbre linéaire et non linéaire, PARMETIS pour les maillages réseau non structurés, CXX TEST pour le test systématique du code, GPROF et GCOV pour le profilage et la couverture de tests, DOXYGEN pour la création automatisée de documentation, et SCons (python) pour la création de logiciels. Un projet Gitlab dédié est utilisé pour l'intégration continue. De nombreuses E / S sont au format ASCII pour faciliter l'accès et les phases de test, d'autres dans des formats binaires génériques utilisant HDF5, permettant ainsi des capacités d'E / S parallèles. Le code fonctionne sur plusieurs plates-formes Linux ainsi que macOS. Il est développé sur des ordinateurs personnels et déployé sur le supercalculateur de CALMIP.

Informations complémentaires

Recrutement dans le cadre du projet ERC Proof of Concept VITAE (2018), cf. https://www.cnrs.fr/occitanie-ouest/actualites/article/sylvie-lorthois-laureate-de-l-appel-proof-of-concept-2018-de-l-erc

On en parle sur Twitter !