Pause
Lecture
Moteur de recherche d'offres d'emploi CEA

Optimisation de performances de calcul scientifique en c++ pour la mission spatiale Euclid H/F

 Offre 0 / 24 

Détail de l'offre

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