Background
This PostDoc will be carried out in the framework of the PEPR (Programme et Equipement Prioritaire de Recherche) NumPEx project devoted to High Performance Numerics for the Exascale and financed by the France2030 investment program.
Research directions
During this PostDoc several directions will be explored to improve algorithms for precision auto-tuning and numerical validation.
We plan to design a novel autotuning algorithm that will automatically provide arbitrary precision codes, from a required accuracy on the computed results. Because of the number of possible type configurations, particular attention will be paid to the algorithm performance. The type configuration produced will then enable one to improve storage cost, and also execution time taking into account the numerical formats available on the target architectures.
We plan to combine mixed precision algorithms and precision autotuning tools. Such automatic tools may be useful in the design of mixed precision linear algebra algorithms. Conversely the performance of precision autotuning tools may be improved thanks to mixed precision algorithms. Linear algebra kernels could be automatically identified in simulation codes, and replaced by their mixed precision version, in order to reduce the exploration space for precision tuning.
The precision auto-tuning algorithms designed during this PostDoc will be validated on large scale programs developed by partners of the NumPEx project. Furthermore new methodologies will be proposed to perform autotuning of both numerical formats and performance parameters in collaboration with experts in coupled physics simulations.
Location
Sorbonne Université and its Computer Science lab LIP6 are settled on the Pierre & Marie Curie Campus in the Latin Quarter of Paris, France.
Salary
The gross salary per month (including national health insurance and employment insurance) varies from 2682 to 3701 euros depending on the experience.
Duration
1 year, renewable 1 year
Qualifications and skills
Candidates must have a PhD in Computer Science, Applied Mathematics or other relevant fields, with good programming skills. Developments will be carried out in C++ and Python, so programming expertise in at least one of these languages is required. Good knowledge in numerical algorithms and floating-point computation is also required.