Una candidatura completa en un minuto
Currículum y carta de presentación personalizados, listos para enviar.
Magellium (Groupe Artal) recherche un stagiaire pour accélérer des algorithmes de corrélation et de ré-échantillonnage d’images satellites sur GPU. Vous étudierez les approches CUDA/OpenCL et développerez des versions GPU performantes en C++, en garantissant une concordance numérique avec la version CPU.
Le stage comprend la mise en place d’un banc de mesure, l’évaluation des performances et l’intégration des solutions GPU dans les outils existants, avec possibilité de CDI par la suite.
Magellium (Groupe Artal), avec ses 300 collaborateurs, est un acteur indépendant, spécialiste sur la chaine de valorisation du pixel et de la donnée image et vidéo (du capteur satellite, aéroporté ou drone jusqu’à son utilisation dans les systèmes d’information géographique, la cartographie et la Géointelligence). Magellium promeut la maîtrise des technologies du logiciel, de l’IA, du traitement d’image et de la géomatique.
L’unitéEarth Observation est en charge des activités de traitement d’images d’origine spatiale. Ses domaines d’expertise sont: la géométrie des capteurs et le traitement d’image, la calibration/validation et le contrôle qualité et les services d’observation de la Terre. Nos experts en télédétection, nos scientifiques et nos concepteurs de logiciels spécialisés se concentrent sur les programmes de R&D, les algorithmes de traitement, les systèmes de segment sol et les services environnementaux. Observer la Terre depuis l’espace, surveiller notre environnement et les changements climatiques sont nos défis.
Pour ces projets concernant son activité de conception de systèmes segment sol, Magellium propose le stage suivantintitulé:
Accélération GPU d’algorithmes de corrélation et de ré-échantillonnage d’images satellites
Les chaînes de traitement des segments sol d’observation de la Terre transforment les données brutes acquises par les satellites en produits image exploitables par les utilisateurs. Au niveau L1, ces chaînes réalisent les corrections radiométriques et géométriques des images. C’est la partie géométrique qui concentre l’essentiel du temps de calcul : corrélation entre images ou entre bandes spectrales pour affiner la localisation, puis ré-échantillonnage des images dans leur géométrie finale.
Avec l’augmentation de la résolution des capteurs, du nombre de bandes spectrales et de la fréquence de revisite, les volumes de données à traiter ne cessent de croître, tout comme les exigences sur les délais de mise à disposition des produits. Les algorithmes de corrélation et de ré-échantillonnage développés par Magellium sont aujourd’hui implémentés en C++ et exécutés sur CPU : ils sont devenus le principal levier pour réduire les temps de traitement.
Les processeurs graphiques (GPU) offre une puissance de calcul massivement parallèle, mais en tirer pleinement parti ne se résume pas à traduire un code existant : il faut repenser les algorithmes en fonction de l’architecture matérielle (hiérarchie mémoire, accès irréguliers aux données, images plus grandes que la mémoire disponible, précision numérique…).
L’objectif du stage est de concevoir des versions GPU hautes performances des algorithmes de corrélation et de ré-échantillonnage d’images, afin de réduire significativement leur temps de calcul. En vous appuyant sur les implémentations C++ actuelles des outils Magellium comme référence fonctionnelle, vous proposerez, développerez et évaluerez des solutions algorithmiques adaptées au GPU, en garantissant des résultats numériquement conformes à ceux de la version CPU.
Le choix de la technologie de programmation GPU (CUDA, OpenCL…) fera partie de l’étude et sera discuté avec l’équipe, en tenant compte des performances atteignables, de la portabilité entre matériels et de la facilité d’intégration dans les outils existants.
Analyse et conception
Évaluation et documentation
Dans la continuité de ce stage, un poste en CDI pourra être proposé au candidat.
Étudiant(e) en dernière année d’école d’ingénieur ou de master (Bac+5) dans le domaine de l’informatique, du calcul haute performance ou du traitement d’images.
Vous maîtrisez la programmation en C++ et avez une première expérience de la programmation parallèle, idéalement sur GPU (CUDA ou équivalent).
Des connaissances en traitement d’images (interpolation, corrélation, filtrage) ainsi qu’un intérêt pour l’observation de la Terre et les missions satellites optiques seront appréciés.
Rigueur, curiosité et goût pour l’optimisation et l’algorithmique seront vos principaux atouts pour mener à bien ce stage.
Mots clés: GPU, CUDA, C++, Calcul haute performance, Traitement d’images, Ré-échantillonnage, Corrélation, Observation de la Terre.