2018-00980 - Ingénieur - Interface Matlab pour la simulation de codes correcteurs d'erreurs (H/F)

Type de contrat : CDD de la fonction publique

Niveau de diplôme exigé : Bac + 5 ou équivalent

Fonction : Ingénieur scientifique contractuel

Niveau d'expérience souhaité : Jeune diplômé

Contexte et atouts du poste

Ce poste est proposé dans le cadre d'une Action de Développement Technologique Inria.

Les codes correcteurs d’erreurs (ECC en anglais) permettent de préserver et restaurer l'information transmise sur un canal de communication potentiellement bruité. AFF3CT est une chaine logicielle en C++ d'expérimentation, de simulation et de validation de variantes d'algorithmes ECCs en termes de capacité de correction, de latence et de débit, avec des performances très élevées pour une implémentation logicielle. Comparativement aux implémentations usuelles en Matlab, le gain de performances est d’au moins 2 ordres de grandeur. Les utilisateurs d’AFF3CT sont universitaires, en France et à l’étranger, ainsi qu’industriels.

L’ objectif de cette action est de permettre à davantage d'utilisateurs d'accéder à AFF3CT par des interfaces Matlab et Python, et d'aggrandir la base d'utilisateurs et contributeurs possibles à AFF3CT. Par ailleurs, chaque brique d’AFF3CT est vectorisée, mais le parallélisme global doit actuellement être codé à la main. Il serait cependant possible que les chaines de traitement du signal construites par l'utilisateurs soient parallélisées automatiquement. Les schémas de parallélisme sont simples et cela donnerait un avantage supplémentaire à AFF3CT par rapport à l’existant.

Ce poste donnera lieu a des échanges entre le laboratoire IMS et le centre de recherche Inria Bordeaux - Sud-Ouest, tous deux situés sur le campus de Talence près de Bordeaux.

Mission confiée

Missions :
Avec l'aide des équipes de l'IMS et d'Inria, la personne recrutée sera amenée à:

  1. Créer une interface Matlab et Python à AFF3CT.
  2. Tester et documenter ces interfaces.
  3. Rendre les briques proposées par AFF3CT parallèles avec OpenMP.

Pour une meilleure connaissance du sujet de recherche proposé :
Un état de l'art, une bibliographie, des références scientifiques sont disponibles à l'URL suivante, n'hésitez à pas à vous y connecter : https://aff3ct.github.io/.

Collaboration :
La personne recrutée sera en lien avec Adrien Cassagne, principal concepteur du logiciel AFF3CT pour les questions d'ordre technique, ainsi que les équipes CSN de l'IMS et STORM d'Inria.

Responsabilités :
La personne recrutée a la charge de réaliser le programme de travail défini dans le cadre de l'action de développement technologique et prendra des initiatives pour associer chacune des parties dans le travail de conception, afin de garantir d'une part l'adéquation de la solution retenue avec les besoins de la communauté du traitement du signal en charge de la simulation de codes correcteurs d'erreurs, et d'autre part l'utilisation de techniques de l'état de l'art en termes de calcul intensif pour assurer un niveau de performances adéquat.

 

Principales activités

Principales activés :

  • Analyser les besoins des utilisateurs cibles d'interfaces en langage de haut niveau (Matlab, Python) pour AFF3CT
  • Développer les interfaces Matlab et Python
  • Tester et valider
  • Réaliser la parallélisation des briques critiques d'AFF3CT
  • Diffuser à la communauté d'utilisateurs

Activités complémentaires :

  • Assurer l'intégration continue des développements réalisés
  • Documenter le développement logiciel
  • Si possible, réaliser un séminaire ou une formation aux utilisateurs

 

Compétences

Compétences techniques et niveau requis :

  • Maîtrise du langage C++,
  • Maîtrise du langage Python,
  • Expérience du développement en contexte UNIX et MS Windows
  • Bonnes capacités rédactionnelles

Langues :

  • Maîtrise de l'anglais technique.

Compétences relationnelles :

  • Capacité à travailler en équipe
  • Capacité d'initiative, d'échange et d'écoute

Compétences additionnelles appréciées :

  • Connaissance de la programmation parallèle en OpenMP

Avantages sociaux

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Aménagement du temps de travail

Rémunération

Rémunération mensuelle brute : entre 2562 € et 2936 € (selon grille de salaires prenant en compte le niveau de diplôme et les précédentes expériences professionnelles)