DESCRIPTION :
We propose a two-year Research Engineer position (with the possibility of extension) within the framework of the ERC-StG project
Incorwave.
The goal of this project is to develop advanced numerical strategies for passive imaging of the Earth and the Sun.
The position focuses on enhancing the capabilities of our massively parallel software, Hawen (https://ffaucher.gitlab.io/hawen-website/),
by enriching its feature set and improving its parallel performance on graphical processing units (GPUs).
The Hawen software simulates wave propagation in various media, including acoustic and elastic materials, and is used for solving
inverse problems, that is, the reconstruction of the physical properties of a medium from observational data.
The software relies on Discontinuous Galerkin methods, which are particularly well-suited for parallel computing, and it typically
requires solving large-scale linear systems during simulations.
The main objectives of this position are to:
(1) Enhance Hawen's accessibility;
(2) Improve hybrid parallelism of the software to accelerate simulations;
(3) Integrate new features and options to extend the software's functionality and usability.
We are looking for a motivated candidate with experience in computer science or scientific computing.
A Master's degree is required for consideration, and a Ph.D. will be considered a strong asset.
Mission confiée
The applicant will investigate several key directions, focusing on the three primary areas of interest mentioned above.
1. Improving Software Accessibility: To facilitate easier use of the Hawen software, the following tasks should be addressed:
- Develop an API with a scripting language (e.g., Python or Julia)
- Enhance the I/O structures by supporting additional formats (e.g., HDF5).
- Improve the unitary tests and validation benchmark suite.
- Explore integration with external libraries for extended functionality (e.g., SVD).
2. Enhancing Hybrid Parallelism: Currently, the software relies on CPU parallelism, and there is a need to extend support for GPU offloading. The applicant will be tasked with implementing and optimizing hybrid parallelism to improve performance, making full use of both CPUs and GPUs, for instance with OpenMP/Cuda, and external libraries can be investigated (e.g., Psyclone).
3. Implementing Additional Features for Wave Propagation: The following additional features will be implemented to improve the wave propagation model, supported by the team's expertise in applied mathematics.
- Implementation of curved elements for more accurate geometrical representation in simulations.
- Support for multiple media types within a single domain, facilitating the modeling of coupled problems.
Principales activités
The successful applicant will join the development team to design new features and improve the existing software. Responsibilities will include coding, writing documentation and tutorials, and providing support to users., The applicant should have a strong background in computer sciences, and knowledge of wave propagation is
recommended.
Familiarity with parallel programming is essential, ideally with proficiency in Fortran or C/C++.
In addition to research and software development, the applicant will be expected to actively contribute to
the team's activities and assist the community in using the software.
Writing the documentation, tutorials and answering to the issues raised in the public repository will part of
the activities.
Code d'emploi : Ingénieur Études et Développements IT (h/f)
Domaine professionnel actuel : IT R&D Professionals
Niveau de formation : Bac+5
Temps partiel / Temps plein : Plein temps
Type de contrat : Possibilité de CDI
Compétences : APIs, C ++ (Langage de Programmation), Nvidia CUDA, Programmation Informatique, Fortran (Programming Language), Python (Langage de Programmation), OpenMP, Parallel Computing, Informatique Scientifique, Conception et Développement de Logiciel, Scripting, Graphics Processing Unit (GPU), Technologies Informatiques, Mathématiques Appliquées, Enseignement, Écriture de Documentation, Simulations, Tests d'Utilisation, Imagerie
Courriel :
florian.faucher@inria.fr
Téléphone :
0139635511
Type d'annonceur : Employeur direct