Job Description:
Ready to take off? Your adventure could start right here with us…We invite you to work with a global leader in its field, focused on digital advancement and at the forefront of research and innovation.A CIFRE PhD thesis offer « Programmation hybride CPU/GPU via support d'exécution pour simulations complexes» (Hybrid CPU/GPU programming through runtime system for complex simulations) just opened at Airbus Central R&T in Toulouse in collaboration with Inria Bordeaux.
You will join a transnational and pluridisciplinary team of 30 people, inside the “Virtual Product Engineering” department, responsible for the development of new methods able to tackle complex problems, out of reach of current tools. This team makes the link between the academic world and industry. Multi Site environment : Toulouse, Paris, Allemagne, UK
The PhD will consist in using task-based programming in order to tackle heterogeneous architectures and efficiently couple code in a portable and sustainable way.
Multiple libraries, some of them already parallelised with tasks, will be used in this work.
A local time step explicit solver will be used in order to explore heterogeneous architecture programming as it displays good characteristics to be ported to GPU. In this task, it will be important to program in a way that will allow non HPC (High Performance Computing) experts to develop new kernels.The coupling aspect will be also evaluated from the unsteady CFD (Computational Fluid Dynamics) point of view. The explicit solver and various operations on meshes (intersection after move, mesh refinement) should be scheduled in an efficient way.
The candidate should be capable of conducting both theoretical and practical research on these two aspects, developing innovative algorithms, and implementing and validating them within an industrial context.
Tasks and responsibilities :
With the support of your tutor, you will develop your skills working on the following actions :
the candidate will need to understand the theoretical and practical aspects of a local time step explicit solver and its implementation in C++.
implement and understand the performance of a GPU version of a local time step explicit solver.
Find the right abstraction level that will allow non HPC experts to contribute to the code base while allowing the code to evolve to adapt to new architectures.
The candidate must be able to design an experimental plan and conduct a scientific study, deliver scientific presentations to both specialist and general audiences, and write scientific articles and technical reports.
Skills and requirements:
Master'degree level in the HPC (High Performance Computing) & simulation domain.You have this knowledge and skills :
Background in HPC (High Performance Computing), parallel algorithms, computer science.
Practical knowledge of languages and tools used in those disciplines (C, C++, Rust, Python, Shell, etc.) and of GPU programming.
Good understanding of programming best practices and continuous development, including experience with profiling and debugging.
Notions in computational science and finite volume.
Autonomy and a willingness to understand and collaborate with individuals from diverse disciplines, including physicists and numerical analysts.
English / French : advanced
You may be required to travel between Toulouse and Bordeaux.
----------------------------
Envie de déployer vos ailes ? Et si votre aventure commençait avec nous ?...
Nous vous proposons de travailler dans une entreprise leader mondial dans son domaine, tournée vers le digital, à la pointe de la recherche et de l’innovation.
Une offre de thèse CIFRE intitulée « Programmation hybride CPU/GPU via support d'exécution pour simulations complexes (h/f) » vient de s'ouvrir au sein de Airbus Central R&T sur son site de Toulouse, en collaboration avec le Centre Inria de l’Université de Bordeaux.
Vous rejoindrez une équipe pluridisciplinaire et transnationale (plus de 10 nationalités) de 30 personnes, plus précisément au sein du département « Virtual Product Engineering » en charge du développement de nouvelles méthodes pour traiter des problèmes complexes hors du domaine d’application des outils actuels.
Cette équipe fait le lien avec le monde académique et l'industrie.
Environnement Multi Sites: Toulouse, Paris, Allemagne et Uk.
La thèse consistera à utiliser la programmation à base de tâches pour à la fois tirer parti des architectures hétérogènes et coupler des codes de manière efficiente, le tout de manière portable et pérenne. Diverses bibliothèques, certaines déjà parallélisées en tâches, seront utilisées dans ce cadre.
L’exploration de la programmation des architectures hétérogènes se fera au travers d’un solveur explicite à pas de temps local, qui présente de bonnes caractéristiques pour être traité sur GPU.
Une réflexion devra aussi être menée pour permettre un développement facile de nouveaux noyaux GPU par des personnes non expertes en HPC.
Le couplage de code sera lui évalué sous l’angle de la CFD (Computational Fluid Dynamics) i nstationnaire avec mouvements. En plus du solveur explicite, des opérations agissant sur le maillage (intersections de maillages après mouvement, raffinement de certaines mailles) devront être ordonnancées de manière efficiente.
Le candidat devra mener les recherches théoriques et pratiques sur chacun de ces deux sujets , proposer des algorithmes, réaliser l'implémentation et valider dans un contexte industriel.
Le doctorat débutera, idéalement à l’automne 2024 pour une durée de 3 ans.
Tâches et responsabilités:
Encadré par votre tuteur, vous développerez vos compétences en travaillant sur les activités suivantes :
Le candidat devra s’approprier les aspects théoriques et pratiques d’un solveur explicite à pas de temps local et de son implémentation en C++.
Implémenter et comprendre les performances d’une version GPU du solveur explicite à pas de temps local.
Savoir trouver le bon niveau d’abstraction permettant une utilisation simple des développements par des personnes de disciplines proches tout en permettant une évolutivité assurant la pérennité des développements.
Le candidat doit être capable de concevoir un plan d'expérience et de mener une étude scientifique, de faire des présentations scientifiques à un public spécialiste ou généraliste, et de rédiger des articles scientifiques et des rapports techniques.
Compétences & Prérequis :
Niveau BAC +5 dans le domaine du HPC (High Performance Computing) et du calcul scientifique.
Vous avez les connaissances et compétences suivantes :
Formation en HPC (High Performance Computing), algorithmes parallèles et en informatique scientifique.
Connaissance pratique des langages et outils de programmation utilisés dans ces disciplines (C, C++, Rust, Python, Shell, etc.) et en programmation des GPU
Bonnes notions des bonnes pratiques de programmation et du développement continu, incluant une pratique du profiling et du débogage.
Notions en calcul scientifique en général et base des approches par volumes finis.
Autonomie et volonté de comprendre et de collaborer avec des personnes de disciplines variées, notamment des physiciens et numériciens
Compétences linguistiques :
Anglais : avancé
Français : avancé
This job requires an awareness of any potential compliance risks and a commitment to act with integrity, as the foundation for the Company’s success, reputation and sustainable growth.
Company:
AIRBUS SASEmployment Type:
PHD, Research-------
Classe Emploi (France): Classe F11Experience Level:
StudentJob Family:
Sub-system development <JF-EN-EQ>By submitting your CV or application you are consenting to Airbus using and storing information about you for monitoring purposes relating to your application or future employment. This information will only be used by Airbus.Airbus is committed to achieving workforce diversity and creating an inclusive working environment. We welcome all applications irrespective of social and cultural background, age, gender, disability, sexual orientation or religious belief.
Airbus is, and always has been, committed to equal opportunities for all. As such, we will never ask for any type of monetary exchange in the frame of a recruitment process. Any impersonation of Airbus to do so should be reported to emsom@airbus.com.
At Airbus, we support you to work, connect and collaborate more easily and flexibly. Wherever possible, we foster flexible working arrangements to stimulate innovative thinking.
Ces entreprises recrutent aussi au poste de “Software & Web Development”.