Ing. en développement librairies mathématiques - CDD/Post-doc

CDD / Temporaire(18 mois)
Saclay
Salaire : 34,3K à 50K €
Début : 31 mars 2025
Télétravail fréquent
Expérience : > 6 mois
Éducation : > Bac +5 / Doctorat
Postuler

CEA
CEA

Cette offre vous tente ?

Postuler
Questions et réponses sur l'offre

Le poste

Descriptif du poste

Votre mission : réaliser des développements mathématiques et d'implémenter, sur architecture GPU, les librairies logicielles permettant de :
1/ Générer les surfaces spline MBA à partir d'un nuage de points exprimés dans un système de coordonnées génériques curvilignes.
2/ Calculer leur intersection avec des rayons.Au sein de la plateforme CIVA, la simulation de la propagation des ondes ultrasonores est fondée sur un modèle du type rayons, très rapide et fiable, mais est sensible à la régularité des surfaces décrivant les différents milieux de propagation. Ces limites de validité sont notamment atteintes lors de la prise en compte d'organes ou de composants industriels de géométrie complexe 3D, décrites par des maillages.
La librairie permet de générer des Spline multi-niveaux à partir d'un nuage de points. Du fait de la régularisation introduite par les MBA, cette description permet à la fois de pallier les limitations des modèles rayons appliqués à des descriptions maillées des surfaces tout en permettant une accélération des simulations.
Cette librairie ne traite que des nuages de points exprimés dans un repère cartésien. L'objectif est : l'étendre afin de traiter des nuages de points exprimés dans un système de coordonnées génériques curvilignes.
Les principaux développements :
· Adaptation de la méthode MBA à des données de type f(u,v) = (x,y,z), où chaque paire de coordonnées (u,v) est associée à un triplet de coordonnées (x,y,z) dans un espace tridimensionnel.
· Paramétrisation appropriée des surfaces B-Spline pour tenir compte des coordonnées paramétriques (u,v).
· Modification des algorithmes d'ajustement des B-Splines pour traiter les données tridimensionnelles.
· Validation sur des données d'entrée s'apparentant à des données cartésiennes f(x,y) = z (par exemple un plan ou une portion de sphère).
· Analyse de performances pour déterminer les goulots d'étranglement et le niveau de parallélisation.
· Optimisation du code (s'approcher des performances des codes MBA classiques).
· Implémentation d'un algorithme de calcul d'intersection entre un rayon et une surface B-Spline multi-niveaux (produite par MBA), s'appuyant sur une méthode itérative de type Newton-Raphson.
· Dvlpmt d'un algorithme d'évaluation de la surface B-Spline à partir d'un (u,v) donné (généralisation de l'algorithme de De Casteljau).
· Détermination d'un first guess (u0,v0) pour éviter les minima locaux lors des itérations.
· Mise en oeuvre d'une méthode de subdivision itérative de la surface B-Spline, exploitant la propriété d'enveloppe convexe du polygone de contrôle de la surface (Convex Hull Property) et le stockage de subdivisions pré-calculées.
· L'implémentation CPU en C++ puis validation, d'une analyse de performances et d'une étape d'optimisation de l'algorithme.
· Adaptation


Profil recherché

Master ou Doctorat en Mathématiques Appliquées, Informatique, ou domaine équivalent.
Expérience en développement d'algorithmes mathématiques.
Expérience en programmation CPU et GPU, avec une attention particulière à l'optimisation des performances et à la parallélisation.
Expérience en programmation C++ et CUDA.
Capacité à résoudre des problèmes complexes de manière autonome.
Bonnes compétences en communication écrite et orale en français et en anglais.

D’autres offres vous correspondent !

Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.

Postuler