Stage Optimisation d'algorithmes de traitements des données expérimentales de fusion H/F
Description du poste
Mathématiques, information scientifique, logiciel
Sujet de stage
Les algorithmes de traitement des données sont essentiels pour l'analyse des expérimentations sur le tokamak WEST (IRFM/CEA). Ces algorithmes permettent de combiner des informations provenant de diverses sources (capteurs, bases de données, etc.) dans le but de mieux comprendre les phénomènes physiques impliqués dans les plasmas de fusion. Cependant, ces solutions sont souvent développées dans des environnements propriétaires, ce qui peut limiter leur extensibilité, leur interopérabilité et leur coût d'utilisation à long terme et sont parfois surannées.
Dans cette optique, le passage d'algorithmes propriétaires à des langages et environnements libres en utilisant des méthodes et des algorithmes actuels est un enjeu stratégique. Cela permet non seulement de s'affranchir des coûts de licences, mais aussi de bénéficier d'une communauté open-source active et d'un écosystème de développement plus flexible.
Durée du contrat (en mois)
6 mois
Description de l'offre
Objectifs du Stage :
1. Étudier les algorithmes existants : Analyse des algorithmes de traitement des données de fusion actuellement implémentés dans un langage propriétaire (comme MATLAB ou IDL) et identifier les fonctionnalités clés à migrer.
2. Choisir le langage libre approprié : Évaluer et sélectionner un langage open-source (tel que Python, Julia ou R) en fonction de critères tels que la performance, la simplicité de portage, la compatibilité avec les bibliothèques nécessaires, et l’optimisation des performances.
3. Portage des algorithmes : Réaliser la migration des algorithmes du langage propriétaire vers le nouveau langage open-source. Il s'agit non seulement de traduire le code, mais aussi d'adapter les structures de données, les bibliothèques mathématiques et les paradigmes de programmation. L'objectif est de conserver les différentes fonctionnalités données par les chercheurs diagnosticiens.
4. Optimisation des performances : Après le portage, procéder à une optimisation des algorithmes pour garantir une exécution rapide et efficace. Cela inclut l'utilisation de bibliothèques optimisées pour le calcul scientifique (comme NumPy, SciPy, Pandas pour Python) et la parallélisation des tâches si nécessaire.
5. Tests et validation : Mettre en place des tests comparatifs pour valider les résultats des nouveaux algorithmes en les confrontant aux solutions propriétaires. S'assurer que les performances et les résultats des nouveaux algorithmes sont équivalents ou supérieurs à ceux des versions propriétaires.
Tâches du Stagiaire :
1. Phase de découverte : Comprendre les algorithmes propriétaires actuels et leur environnement d'exécution.
2. Phase de conception : Participer à l’évaluation et à la sélection des langages et bibliothèques libres les plus adaptés.
3. Phase de développement : Porter les algorithmes du langage propriétaire vers un langage libre, en s'assurant de la compatibilité et de la robustesse des nouvelles implémentations.
4. Phase de validation : Effectuer des tests unitaires et fonctionnels pour comparer les résultats des algorithmes migrés avec ceux des solutions propriétaires.
5. Documentation : Rédiger une documentation claire sur le processus de migration, les outils utilisés et les méthodes d'optimisation.
Profil du candidat
Compétences Requises :
1. Langages de programmation : Bonne maîtrise d'au moins un langage propriétaire (MATLAB, IDL, etc.) et d’un langage libre (Python, Julia, R, etc.).
2. Traitement des données : Connaissances en algorithmes de traitement de données, particulièrement dans le contexte des données de fusion.
3. Optimisation d'algorithmes : Connaissance des techniques d’optimisation des algorithmes (profiling, parallélisation, réduction de complexité).
4. Outils scientifiques : Expérience avec les bibliothèques de calcul scientifique (NumPy, SciPy, Pandas) et les environnements de développement collaboratifs (Git, Jupyter).
Profil Recherché :
1. Étudiant(e) en dernière année d'école d'ingénieur ou en Master 2 avec une spécialisation en informatique, mathématiques appliquées, ou traitement de données.
2. Autonomie, rigueur et capacité à résoudre des problèmes complexes.
3. Intérêt pour le logiciel libre et l'open source.
Localisation du poste
France, Provence-Côte d'Azur, Bouches du Rhône (13), St Paul Lez Durance
Critères candidat
Diplôme préparé : Bac+5 - Diplôme École d'ingénieurs
Formation recommandée : informatique, mathématiques appliquées, ou traitement de données.
Référence
2024-34430
#J-18808-Ljbffr
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.