2018-00991 - Ingénieur scientifique contractuel / Calcul parallèle et à haute performance

Type de contrat : CDD de la fonction publique

Niveau de diplôme exigé : Thèse ou équivalent

Autre diplôme apprécié : Ingénieur

Fonction : Ingénieur scientifique contractuel

Niveau d'expérience souhaité : De 5 à 12 ans

A propos du centre ou de la direction fonctionnelle

Le centre de recherche Inria Grenoble Rhône-Alpes regroupe un peu moins de 800 personnes réparties au sein de 35 équipes de recherche et 9 services support à la recherche.

Ses effectifs sont distribués sur 5 campus à Grenoble et à Lyon, en lien étroit avec les laboratoires et les établissements de recherche et d'enseignement supérieur de Grenoble et Lyon, mais aussi avec les acteurs économiques de ces territoires.

Présent dans les domaines du logiciel, du calcul haute performance, de l'internet des objets, de l'image et des données, mais aussi de la simulation en océanographie et en biologie, il participe au meilleur niveau à la vie scientifique internationale par les résultats obtenus et les collaborations tant en Europe que dans le reste du monde.

Contexte et atouts du poste

Inria, institut de recherche dédié au numérique, promeut « l'excellence scientifique au service du transfert technologique et de la société ».

Le projet CPER LECO++ a pour objectif la maîtrise des architectures complexes avec une hiérarchie mémoire importante pour lesquelles la puissance s’obtient si en plus l’on maitrise le parallélisme massif au sein d’un même processeur (jusqu'à une centaine d’unités de calcul) tout en contrôlant le mouvement des données au sein de la hiérarchie mémoire. Ces architectures devant de plus en plus complexes, les développeurs d’applications HPC ont de plus en plus du mal à évaluer l’impact d’une architecture sur leur code.

Dans ce cadre, trois équipes du centre INRIA Rhône-Alpes vont étudier l'impact des architectures parallèles modernes sur plusieurs logiciels de calcul scientifique soutenus par des équipes INRIA afin de formuler éventuellement des propositions d'amélioration. Les objectifs principaux sont :

  • analyser la robustesse des performances de 3 applications en calcul scientifique : MUMPS, AEVol et MUXIA.
  • fournir une meilleure compréhension de l’impact d’éléments architecturaux sur les applications ainsi que l’identification des goulots d’étranglement et inversement des variantes algorithmiques robustes.
  • permettre aux équipes de recherche d’être en avance de phase vis-à-vis des évolutions architecturales.

La personne recrutée sera basée à Lyon et aura à se déplacer sur Grenoble. Les frais de déplacements seront pris en charge dans la limite du barème en vigueur.

Mission confiée

Avec l'aide des contacts scientifiques porteurs des différents codes, la personne recrutée sera amenée à définir la méthodologie expérimentale et aura la responsabilité de mener à bien l'ensemble des expériences nécessaire aux études de performance demandées.

En tant qu'expert, le rôle de la personne recrutée, en collaboration avec le scientifique correspondant des équipes impliquées, sera fondamental pour l’explication des performances au vu des schémas algorithmiques mis en œuvre ainsi que pour le conseil en optimisation ou amélioration du code.

Principales activités

 

  • Définir une méthodologie expérimentale reproductible
  • Concevoir le plan d'expérience sur des architectures parallèles modernes
  • Analyser les résultats de performance
  • Proposer des solutions d'amélioration algorithmique possible
  • Diffuser les recommandations auprès des équipes

Compétences

Compétences requises :

  • Doctorat ou école d'ingénieur de rang A dans le domaine du calcul scientifique.
  • Expertise dans l'un des codes : MUMPS, AEVol ou MUXIA.
  • Excellente connaissance de différentes techniques de parallélisation: analyse de performance, développement d'algorithmes parallèles optimisés, MPI/OpenMP - mémoire partagée – multithreading.
  • Expérience significative de plusieurs des outils d'analyse de performance : perfctr, papi, likwid, Intel VTune, ...
  • Maîtrise du C++, C et Fortran.
  • Maîtrise d’au moins un langage interprété : Python, Matlab, ...
  • Expérience significative des bibliothèques de calcul scientifiques.
  • Maitrise des gestionnaires de version (par ex. git), outils de documentation automatique.
  • Sens du service, bonne capacité d’écoute et d’analyse.
  • Savoir travailler en équipe pluridisciplinaire.
  • Bon niveau d'anglais technique et scientifique à l’oral et à l’écrit.

 Compétences appréciées :

  • Techniques et outils de compilation et packaging multi-plateformes, par exemple cmake.
  • Connaissance de R ou autre outil d'analyse.
  • Développement et déploiement sur cluster HPC.
  • Autonomie, curiosité.
  • Bonnes qualités rédactionnelles.

 

Avantages sociaux

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Sécurité sociale
  • Congés payés
  • Aménagement du temps de travail
  • Installations sportives

Rémunération

A partir de 2834€ brut (peut varier en fonction de l'expérience)