The Plasma Physics Laboratory is seeking a highly skilled C++ and Python Research Engineer with a strong background in high-performance computing to join our team and contribute to the development of the open-source project, PHARE (https://github.com/PHAREHUB/PHARE/).
PHARE is a cutting-edge simulation code designed for modeling kinetic plasmas in complex multiscale astrophysical and laboratory environments. Utilizing a hybrid formalism, PHARE treat electrons as a fluid, while employing the Particle-In-Cell method to evolve the ion distribution function in a Lagrangian manner. The innovative approach of PHARE enables the system to evolve on an adaptive hierarchy of grids (patch-based AMR), concentrating time and space resolution in critical regions.
Built using a mix of modern, highly-templated C++ (17) and user-friendly Python with the pybind11 library, PHARE is a 100% open-source project hosted on GitHub. The project emphasizes robust unit and functional testing and employs in-house continuous integration.
Responsibilities:
- Contribute to the ongoing development of PHARE
- Optimize various components of the software
- Enhance parallelization within MPI processes, utilizing both CPU multithreading and GPU acceleration
- Design and implement comprehensive unit and functional tests
- Ensure code and performance portability across diverse computing platforms
Qualifications:
- Expertise in C++ (at least 17), with proficiency in template programming
- Mastery of Python for numerical applications
- Strong background in software design engineering
- Familiarity with Git and open-source collaboration workflows
- Experience in multithreading and GPU computing; familiarity with libraries such as Kokkos, RAJA, SYCL, or compiler directives like OpenMP, OpenACC is a plus
- Proficiency in performance analysis and profiling tools
You will work at the Laboratory of Plasma Physics, on the campus of Ecole Polytechnique, in Palaiseau, France.