A propos de l'offre

Expérience : Débutant
Formation : Master
Localisation : Boulogne

Tags

Stage – Calcul distribué haute-performance avec TensorFlow: étude de cas sur le code SeWaS (H/F)

SeWaS est un code de calcul développé par ANEO, simulant la propagation d’ondes sismiques. SeWaS utilise des techniques de programmation et frameworks HPC à l’état de l’art, notamment une parallélisation par ordonnancement d’un graphe de tâches avec un support exécutif distribué. Du fait de la « séparation des préoccupations » (noyaux de calculs, distribution de données et ordonnancement des tâches), cette approche de parallélisation est de plus en plus adoptée lors du développement des applications HPC.

Tensorflow est un framework open-source d’apprantissage automatique. Il propose aussi une API bas-niveau pour concevoir des graphes : les noeuds sont les noyaux de calcul et les arrêtes sont les transfert de données. Dans ce stage, on se propose donc d’étudier une mise en oeuvre de SeWaS au dessus de TensorFlow. Ce travail facilitera la migration sur différentes architectures (x86/GPU/TPU).

SeWaS est développée selon une architecture modulaire. Les noyaux de calculs sont découplés de la partie ordonnancement, facilitant ainsi l’intégration de plusieurs stratégies de parallélisation. Le travail à réaliser dans le stage consistera donc à:

Développer une maquette du data-flow de SeWaS dans le formalisme TensorFlow

Intégrer les noyaux de calculs

Mesures de performances sur les architectures supportées

 

Le travail réalisé durant le stage fera l’objet d’une publication.

 

 

Profil recherché

Formation niveau bac +5 : école d’ingénieur ou master

C++

Python

Connaissances en parallélisme et calcul distribué

Optimisation de performances des applications de calcul

Développement sous Linux

 

Informations Supplémentaires

Durée du stage : 4 à 6 mois à partir de février 2019

Localisation du stage : Boulogne Billancourt (92)