Génération de code Just-in-time pour la génération de noyaux de calculs complexes en mécanique du solide // Just-in-time code generation to generate complex computing kernels in solid mechanics
ABG-129505
ADUM-63400 |
Thesis topic | |
2025-03-14 |
Mines Paris-PSL
EVRY - France
Génération de code Just-in-time pour la génération de noyaux de calculs complexes en mécanique du solide // Just-in-time code generation to generate complex computing kernels in solid mechanics
- Electronics
Generation de code, portage GPU, mécanique numérique, calcul scientifique, optimisation de code, differentiation automatique
Code generation, computational mechanics,, scientific computing, code optimization,, automatic differentiation
Code generation, computational mechanics,, scientific computing, code optimization,, automatic differentiation
Topic description
Les lois de comportement décrivent toute la connaissance physique des matériaux considérés. La complexité de ces lois augmentent à mesure que ces connaissances évoluent. L'étape d'intégration de la loi de comportement est une étape clé pour les performances et la robustesse des calculs scientifiques.
De nombreuses plateformes numériques (FEniCS, FireDrake, FreeFEM, Comsol) proposent des techniques de génération de code à la volée (JIT, pour Just In Time) pour gérer plusieurs physiques dans une approche monolithique. Cette technique réduit considérablement les temps de mise à oeuvre de nouvelles simulations (et offre de ce fait une grande versatilité à l'utilisateur) mais permet également une optimisation spécifique au cas traité ou un portage transparent sur diverses architectures (CPU ou GPU).
Notre expérience du développement du projet MFEM-MGIS [9] a montré qu'une génération de code permet d'optimiser 10 à 15% les performances des d'assemblages des forces internes et des forces extérieures. Par ailleurs, notre expérience du portage des lois de comportement sur GPUs montre que les noyaux générés doivent être hautement spécialisés pour optimiser les transferts mémoire et les accès aux données, ce qui est en pratique incompatible avec la flexibilité requise par la diversité de situations traitées par un code généraliste. A titre d'exemple, le fait de savoir si une variable comme la température est constante et uniforme est une information précieuse pour l'optimisation du noyau d'une loi de comportement mécanique simple. Or, cette information n'est généralement connue qu'au moment de lancer la simulation et il est inenvisageable de pré-compiler tous les cas possibles. Les codes se reposent donc sur des traitements non optimaux.
Un dernier avantage de la génération de code est de permettre une meilleure évolutivité du code en masquant les détails d'implémentation: ces derniers peuvent éventuellement être remaniés en profondeur sans impact pour l'utilisateur. FEniCS, FireDrake et Dune se reposent sur le language Unified Form Language (UFL) permettant de décrire équations d'équilibre, conditions aux limites, post-traitements sous forme variationnelle [1]. La bibliothèque scikit-fem fournit des fonctionnalités similaires [2, 3]. La DAM a également développé un “domain specific language” nommé ∇ pour simplifier l'écriture d'applications HPC [10]. Cependant, ces solutions sont généralement limitées aux étapes d'assemblage des forces intérieures et des matrices de raideurs et n'incluent pas l'étape d'intégration de la loi de comportement. Elles sont par ailleurs généralement limitées aux éléments finis standard et ne considèrent généralement pas les méthodes de type Hybrid Discontinuous Galerkin (HDG) [4]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Début de la thèse : 01/10/2025
WEB : https://www.mat.minesparis.psl.eu/formation/doctorat/propositions-de-sujets-de-these/
De nombreuses plateformes numériques (FEniCS, FireDrake, FreeFEM, Comsol) proposent des techniques de génération de code à la volée (JIT, pour Just In Time) pour gérer plusieurs physiques dans une approche monolithique. Cette technique réduit considérablement les temps de mise à oeuvre de nouvelles simulations (et offre de ce fait une grande versatilité à l'utilisateur) mais permet également une optimisation spécifique au cas traité ou un portage transparent sur diverses architectures (CPU ou GPU).
Notre expérience du développement du projet MFEM-MGIS [9] a montré qu'une génération de code permet d'optimiser 10 à 15% les performances des d'assemblages des forces internes et des forces extérieures. Par ailleurs, notre expérience du portage des lois de comportement sur GPUs montre que les noyaux générés doivent être hautement spécialisés pour optimiser les transferts mémoire et les accès aux données, ce qui est en pratique incompatible avec la flexibilité requise par la diversité de situations traitées par un code généraliste. A titre d'exemple, le fait de savoir si une variable comme la température est constante et uniforme est une information précieuse pour l'optimisation du noyau d'une loi de comportement mécanique simple. Or, cette information n'est généralement connue qu'au moment de lancer la simulation et il est inenvisageable de pré-compiler tous les cas possibles. Les codes se reposent donc sur des traitements non optimaux.
Un dernier avantage de la génération de code est de permettre une meilleure évolutivité du code en masquant les détails d'implémentation: ces derniers peuvent éventuellement être remaniés en profondeur sans impact pour l'utilisateur. FEniCS, FireDrake et Dune se reposent sur le language Unified Form Language (UFL) permettant de décrire équations d'équilibre, conditions aux limites, post-traitements sous forme variationnelle [1]. La bibliothèque scikit-fem fournit des fonctionnalités similaires [2, 3]. La DAM a également développé un “domain specific language” nommé ∇ pour simplifier l'écriture d'applications HPC [10]. Cependant, ces solutions sont généralement limitées aux étapes d'assemblage des forces intérieures et des matrices de raideurs et n'incluent pas l'étape d'intégration de la loi de comportement. Elles sont par ailleurs généralement limitées aux éléments finis standard et ne considèrent généralement pas les méthodes de type Hybrid Discontinuous Galerkin (HDG) [4]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Début de la thèse : 01/10/2025
WEB : https://www.mat.minesparis.psl.eu/formation/doctorat/propositions-de-sujets-de-these/
Funding category
Funding further details
Partenariat d'entreprises ou d'associations
Presentation of host institution and host laboratory
Mines Paris-PSL
Institution awarding doctoral degree
Mines Paris-PSL
Graduate school
621 ISMME - Ingénierie des Systèmes, Matériaux, Mécanique, Énergétique
Candidate's profile
Profil type pour une thèse à MINES ParisTech: Ingénieur et/ou Master recherche - Bon niveau de culture générale et scientifique. Bon niveau de pratique du français et de l'anglais (niveau B2 ou équivalent minimum). Bonnes capacités d'analyse, de synthèse, d'innovation et de communication. Qualités d'adaptabilité et de créativité. Capacités pédagogiques. Motivation pour l'activité de recherche. Projet professionnel cohérent.
Pré-requis (compétences spécifiques pour cette thèse):
M2 en sciences de l'informatique, physique, mécanique numérique, bioinformatique avec une forte composante sur la génération de code de calcul scientifique efficace.
Pour postuler: Envoyer votre dossier à recrutement_these@mat.mines-paristech.fr comportant :
un curriculum vitae détaillé
une copie de la carte d'identité ou passeport
une lettre de motivation/projet personnel
des relevés de notes L3, M1, M2
2 lettres de recommandation
les noms et les coordonnées d'au moins deux personnes pouvant être contactées pour recommandation
une attestation de niveau d'anglais
Typical profile for a thesis at MINES ParisTech: Engineer and / or Master of Science - Good level of general and scientific culture. Good level of knowledge of French (B2 level in french is required) and English. (B2 level in english is required) Good analytical, synthesis, innovation and communication skills. Qualities of adaptability and creativity. Teaching skills. Motivation for research activity. Coherent professional project. Prerequisite (specific skills for this thesis): Applicants should supply the following : • a detailed resume • a copy of the identity card or passport • a covering letter explaining the applicant's motivation for the position • detailed exam results • two references : the name and contact details of at least two people who could be contacted • to provide an appreciation of the candidate • Your notes of M1, M2 • level of English equivalent TOEIC to be sent to recrutement_these@mat.mines-paristech.fr
Typical profile for a thesis at MINES ParisTech: Engineer and / or Master of Science - Good level of general and scientific culture. Good level of knowledge of French (B2 level in french is required) and English. (B2 level in english is required) Good analytical, synthesis, innovation and communication skills. Qualities of adaptability and creativity. Teaching skills. Motivation for research activity. Coherent professional project. Prerequisite (specific skills for this thesis): Applicants should supply the following : • a detailed resume • a copy of the identity card or passport • a covering letter explaining the applicant's motivation for the position • detailed exam results • two references : the name and contact details of at least two people who could be contacted • to provide an appreciation of the candidate • Your notes of M1, M2 • level of English equivalent TOEIC to be sent to recrutement_these@mat.mines-paristech.fr
2025-07-31
Apply
Close
Vous avez déjà un compte ?
Nouvel utilisateur ?
More information about ABG?
Get ABG’s monthly newsletters including news, job offers, grants & fellowships and a selection of relevant events…
Discover our members
MabDesign
PhDOOC
ONERA - The French Aerospace Lab
Aérocentre, Pôle d'excellence régional
TotalEnergies
ADEME
Généthon
SUEZ
CESI
Groupe AFNOR - Association française de normalisation
ANRT
ASNR - Autorité de sûreté nucléaire et de radioprotection - Siège
Institut Sup'biotech de Paris
Laboratoire National de Métrologie et d'Essais - LNE
Ifremer
MabDesign
CASDEN
Nokia Bell Labs France
Tecknowmetrix