Candidatures ouvertes pour un stage débutant en février 2023
---
Directement intégré(e) à notre équipe d’ingénieurs, le ou la candidat(e) saura créer, développer et améliorer des solutions logicielles de visualisation dans le contexte de traitement de données à grande échelle sur architecture hétérogène CPU/GPU.
En rejoignant notre équipe, vous participerez à un environnement de travail dynamique avec des collègues talentueux(e)Ce stage est une excellente occasion d'asseoir vos connaissances dans le développement de solutions logicielles de haute qualité et de collaborer sur des projets d’ampleur internationale.
Lors de ce stage d’un minimum de 5 mois qui se déroulera dans les locaux de Kitware Europe à Villeurbanne, vous serez amené(e) à
améliorer l’application ParaView et la bibliothèque VTK. Le but de ce stage est de
contribuer aux algorithmes d’analyse et de visualisation basés sur la bibliothéque VTK-m (https://m.vtk.org/). Cette bibliothéque permet de définir et résoudre des problèmes dans un environnement d'exécution hautement parallèle et distribué sur des unités de calcul hétérogènes comme plusieurs processeurs couplés à plusieurs cartes graphiques.
VTK-m, VTK et ParaView sont des logiciels libres développés de façon communautaire(e)Ceci implique que les résultats du stage seront revus par cette communauté et disponibles publiquement dans l’éco-système ParaView(e)Ils seront ensuite utilisés immédiatement par des scientifiques du monde entier dans des domaines très divers comme la mécanique des fluides, l'astrophysique ou encore les géosciences.
Vos missions:
- Prendre en main la bibliothèque VTK-m : compilation, utilisations de plusieurs environnements d'exécution (C++, OpenMP, TBB, CUDA, Kokkos...) et rédaction de guides sur les bonnes pratiques
- Développer de nouveaux filtres d’analyse de données avec VTK-m, évaluer les gains de performance réels, puis rendre disponibles ces nouveaux filtres dans VTK/ParaView
- Améliorer l’intégration de VTK-m dans ParaView au niveau de l’expérience utilisateur
- Partage avec la communauté interne (Kitware) et externe (forum public, blog officiel Kitware)
Compétences requises
- Niveau école d'ingénieur 4ème année minimum ou Master 2
- Bon niveau en C++
- Bon niveau en anglais
Compétences appréciées mais non obligatoires
- Notions de CMake
- A l’aise avec git
- A l’aise avec la programmation générique en C++ (template programming)
- Connaissances en calcul parallèle et distribué
- Connaissances en calcul sur GPU
- Une première approche de la bibliothèque VTK et du logiciel ParaView
- Connaissances en méthodes de visualisation
- Contributions à des logiciels open-source