Informations générales
Entité de rattachement
Le CEA est un acteur majeur de la recherche, au service des citoyens, de l'économie et de l'Etat.
Il apporte des solutions concrètes à leurs besoins dans quatre domaines principaux : transition énergétique, transition numérique, technologies pour la médecine du futur, défense et sécurité sur un socle de recherche fondamentale. Le CEA s'engage depuis plus de 75 ans au service de la souveraineté scientifique, technologique et industrielle de la France et de l'Europe pour un présent et un avenir mieux maîtrisés et plus sûrs.
Implanté au cœur des territoires équipés de très grandes infrastructures de recherche, le CEA dispose d'un large éventail de partenaires académiques et industriels en France, en Europe et à l'international.
Les 20 000 collaboratrices et collaborateurs du CEA partagent trois valeurs fondamentales :
• La conscience des responsabilités
• La coopération
• La curiosité
Référence
2024-31939
Description de l'unité
Le DÉDIP, Département d'Électronique, Détecteurs, Informatique pour la Physique rassemble des compétences indispensables pour le développement des systèmes et instruments dédiés à la détection et au traitement des phénomènes physiques dans le cadre de projets expérimentaux. Au sein de ce département, le LILAS, Laboratoire d'Ingénierie Logicielle pour Applications Scientifiques, rassemble des ingénieurs-chercheurs spécialisés dans le développement logiciel. Les domaines d'applications couvrent aussi bien le logiciel embarqué / temps réel indispensable au développement et au fonctionnement des systèmes électroniques spécifiques que les codes et applications consacrés à l'échange de données, l'analyse et la simulation scientifiques.
Description du poste
Domaine
Mathématiques, information scientifique, logiciel
Contrat
Stage
Intitulé de l'offre
Optimisation de performances de calcul scientifique en c++ pour la mission spatiale Euclid H/F
Sujet de stage
Optimisation des performances de calcul scientifique pour améliorer la rapidité et l’efficacité d’un code en C++ utilisé pour le traitement au sol des données de la mission spatiale Euclid.
Durée du contrat (en mois)
5-6
Description de l'offre
La mission spatiale Euclid, lancée le 1er juillet 2023, a pour objectif de faire des relevés de galaxies afin d’étudier la distribution de masse dans l’Univers. Pour cela, le Laboratoire d’ingénierie logicielle pour les applications scientifiques (LILAS) est en charge du développement d’une partie du code d’analyse (voir : https://www.aanda.org/articles/aa/full_html/2020/06/aa36865-19/aa36865-19.html). Ce code est développé en C++ (<= C++ 17), et fait largement appel aux principes de la programmation orientée objet et de la programmation générique (templates). Il est composé de librairies basées sur des classes et de programmes qui utilisent ces classes pour remplir les objectifs fixés par la mission Euclid. Ces programmes ont vocation à être exécutés par le pipeline de traitement de données au sol.
Le code d’analyse doit être en mesure de traiter un grand nombre de galaxies rassemblées dans des catalogues. Ces catalogues, qui regroupent des centaines de millions de galaxies, sont représentés par des fichiers pouvant atteindre plusieurs dizaines de gigaoctets. La lecture et l’analyse d’un tel fichier posent un défi. Actuellement, le code d’analyse doit lire le catalogue plusieurs fois au cours d’une même exécution, ce qui entraîne une augmentation du temps de traitement et de la quantité de mémoire consommée.
L’objectif de ce stage est d’optimiser la lecture des catalogues par le code d’analyse afin d’améliorer sa rapidité d’exécution. Il s’agira notamment d’implémenter en C++ une nouvelle méthode de traitement qui ne nécessite qu’une seule lecture du fichier pour chaque exécution. Les performances (rapidité et consommation de mémoire) de cette nouvelle implémentation devront être évaluées et comparées à celles de la méthode actuelle. Un objectif secondaire envisageable est l’optimisation des traitements ultérieurs en utilisant des méthodes de calcul parallèle.
Ce stage offrira au candidat ’l’opportunité d’accroître ses compétences en C++ moderne et son utilisation dans le cadre d’un grand projet scientifique, ainsi qu’en algorithmique.
Le candidat recherché doit pouvoir justifier d’un niveau de maîtrise du C++ suffisant ainsi que des principes de la programmation orientée objet. Il doit également maîtriser le développement avec un IDE de son choix (Eclipse, Visual Studio) ainsi que l’utilisation de Git.
Moyens / Méthodes / Logiciels
C++, Git, Unix, eclipse, Visual Studio, docker, CMake
Localisation du poste
Site
Saclay
Localisation du poste
France, Ile-de-France, Essonne (91)
Ville
Gif-sur-Yvette
Critères candidat
Possibilité de poursuite en thèse
Non
Demandeur
Disponibilité du poste
01/07/2024