Activez les alertes d’offres d’emploi par e-mail !

Stage d'ingénieur en développement logiciel (H/F)

CEA

Gif-sur-Yvette, Saclay

Hybride

EUR 40 000 - 60 000

Plein temps

Aujourd’hui
Soyez parmi les premiers à postuler

Résumé du poste

Une organisation de recherche d'envergure en Île-de-France cherche un stagiaire en développement logiciel pour améliorer les performances du code EOS. Le candidat doit posséder des compétences solides en C++, structures de données et optimisation. Le stage offre l'opportunité de travailler sur des projets significatifs dans un environnement de recherche innovant. Télétravail partiel possible.

Prestations

Télétravail possible
Opportunités de développement professionnel
Engagement envers la diversité

Qualifications

  • Solides bases en C++, structures de données, profiling et optimisation.
  • Connaissances en numérique/thermodynamique appréciées.
  • Culture ingénierie logicielle (tests, CI, doc).

Responsabilités

  • Analyser les limitations du code EOS et proposer des corrections.
  • Concevoir, prototyper et valider des améliorations d’architecture C++.
  • Optimiser l'accès mémoire et les sections de code critiques.

Connaissances

C++
Structures de données
Profiling et optimisation
Connaissances en numérique/thermodynamique

Formation

Bac+5 - Diplôme École d'ingénieurs
Description du poste

Site carrière CEA : toutes nos offres d'emploi

Vous n'avez pas encore votre propre espace candidat. Créez-le en cliquant ici.

Un souci ? Contactez-nous à

admin-poem@cea.fr

Site carrière CEA : toutes nos offres d'emploi

Moteur de recherche d'offres d'emploi CEA

Stage d'ingénieur en développement logiciel (H/F)
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

2025-37796

Description du poste

Mathématiques, information scientifique, logiciel

Intitulé de l'offre

Stage d'ingénieur en développement logiciel (H/F)

Sujet de stage

Amélioration des performances du code EOS

Durée du contrat (en mois)
Description de l'offre

EOS est un outil de calcul scientifique (OCS) d’équations d’état, utilisé par plusieurs codes de thermo-hydraulique et de mécanique des fluides (NeptuneCFD, CATHARE, TRUST, TrioCFD, FLICA, …) pour déterminer les propriétés thermodynamiques de fluides mono- et diphasiques à partir de couples de variables tels que (pression, température), (pression, enthalpie), etc.

Développé en C++ et complété par des scripts bash/python, le code est devenu open-source en 2023 (version 2.0.0). Sa grande modularité constitue un atout, mais son architecture, aujourd’hui vieillissante, entraîne une consommation importante de ressources de calcul. Une première étude de performance a déjà permis un gain d’environ 40 % de temps de calcul sur certaines tables dans la version 2.1, tout en mettant en évidence plusieurs points faibles impactant les performances globales.

Le stage proposé consistera à analyser ces limitations, à apporter des corrections ciblées et à poursuivre l’étude de performance afin d’améliorer la rapidité et l’efficacité du code.

Objectif du stage

Concevoir, prototyper et valider des améliorations d’architecture C++ et de gestion de la mémoire afin de réduire le temps de calcul d’EOS, sans compromettre la précision ni la modularité de l’API. Les efforts porteront sur l’optimisation des accès mémoire et des sections de code critiques mises en évidence par des études de performance sur des cas de référence.

Pistes techniques d’amélioration
  1. Architecture du code en C++
  2. Gestion de la mémoire
  3. Polymorphisme et performance
Architecture du code en C++
  • Mieux séparer les parties du code : d'un côté les modèles physiques (équations d'état), de l'autre les tables et structures de données.
  • Réduire les dépendances entre modules pour que les modifications n'obligent pas à tout recompiler.
  • Moderniser les interfaces pour qu'elles soient plus simples à utiliser et plus stables dans le temps.
Gestion de la mémoire
  • Améliorer l'organisation des données pour qu'elles soient utilisées plus efficacement par le processeur.
  • Limiter le nombre d'allocations mémoire répétées en réutilisant des zones de mémoire déjà réservées.
Polymorphisme et performance
  • Remplacer certaines utilisations lourdes du « polymorphisme dynamique » (héritage + fonctions virtuelles) par des solutions plus légères lorsque les choix peuvent être connus à la compilation. Cela permettrait de réduire les appels indirects et de faciliter l'optimisation automatique du code par le compilateur.
Moyens / Méthodes / Logiciels
Profil du candidat

Compétences recherchées

  • Solides bases en C++, structures de données, profiling et optimisation.
  • Connaissances en numérique/thermodynamique appréciées.
  • Culture ingénierie logicielle (tests, CI, doc).

Qui développe vos compétences et construit votre parcours professionnel

Qui donne une possibilité d'être en télétravail

Qui prône la mixité et la diversité

Qui est acteur majeur de la recherche dans le nucléaire

Le CEA est un acteur engagé dans l’accueil, l’insertion et le maintien dans l’emploi des salariés en situation de handicap. Ainsi, si vous le souhaitez, vous pouvez également joindre tous documents justifiant de votre situation de handicap (RQTH, carte mobilité inclusion, pension d’invalidité, etc).

Localisation du poste
Critères candidat

Français (Courant)

Diplôme préparé

Bac+5 - Diplôme École d'ingénieurs

Formation recommandée

Étudiant(e) en école d'ingénieurs ou en Master 2 (bac +5)

Obtenez votre examen gratuit et confidentiel de votre CV.
ou faites glisser et déposez un fichier PDF, DOC, DOCX, ODT ou PAGES jusqu’à 5 Mo.