Compute and Data Team member

Application should be send to Jean-Pierre Vilotte, Valérie Brenner, Jérôme Bobin and Jérôme Charousset.

 

Context

Launched in 2023 for a duration of 6 years, The NumPEx PEPR aims to contribute to the design and development of numerical methods and software components that will equip future European Exascale and post-Exascale machines. NumPEx also aims to support scientific and industrial applications in fully exploiting their potentials.

Exa-DI is in charge of the implementation of the co-design and co-development processes across NumPEx for an augmented and productive axascale software. This will be achieved through the creation of a national software development and enginerring team (researchers and engineers) with multiple expertise, bridging the gap between digital research and computational science and engineering applications. The applications cover a broad spectrum of stratégic domains, such as astrophysics, particle physics, climatology/meterology, plasma physics, materials physics, digital healthcare, energy and engineering. the integration within the NumPEx software stack will be carried out in the form of software developmentkits that can be easily deployed and instantiated in many ways to enable substainable development and performance portability of exascale applications. The co-design and co-development activity of Exa-DI will follow an Agile methodology and be built on an iterative process, driven by application needs and centered on algorithmic motifs (computational, communication). This effort will be supported by community software policies, and an enabling team that ensures common software packaging technologies and continuous integration methodologies in collaboration with national computing facilities, together with training and best practices materials for reaching the broader computational community.

Mission

The candidates will join an Agile team of ~10 engineers and, depending on their skills & expertise, will contribute to one or several of the cross-cutting computation and communication algorithmic motifs identified so far:

  • Efficient PDE-based discretisation @ exascale
  • Block-structured Adaptive Mesh Refinement @ exascale
  • Particle-based methods @ exascale.

In this context, the mission and responsibilities of the job are:

  • Collaborate with scientific and industrial application teams to define mini- and proxy-apps that are representative of the technical bottlenecks encountered in exascale applications
  • Develop these mini- and -proxy apps by bringing together added-value software components (libraries, frameworks, tools) provided by other NumPEx research teams
  • Strengthen the use of portable accelerator programming models and abstraction layers addressing the specific challenges of each computation and communication motif
  • Develop benchmark tests & metrics to assess performance gain, scalability and interoperability of proposed solutions
  • Integrate, package and deliver logical collections of software components, in the form of software development kits
  • Foster knowledge transfer towards scientific and industrial application teams by providing training and support on released SDKs, mini- and proxy-apps, and associated best practices
  • Support the self-organisation & overall performance of the Agile Team by actively contributing to process definition & improvement, planning & executing the iterations, demonstrating the progress, coordinating with other Teams & stakeholders, managing risks & impediments

Required Skills

  • Masters or PhD degree in Computer Science, Engineering, or related discipline
  • Expertise in Python, C/C++, Fortran
  • Knowledge of parallel programming (GPU, multi-threaded, etc.) is desirable
  • Practical problem solving and strategic thinking skills, critical thinker, and self-starter
  • Ability to work successfully with demanding schedule constraints and technically challenging programs
  • Excellent Communications skills including written reports
  • Proficiency in English
  • Ability and motivation in working with different application teams & multiple application domains

More informations

For further information, please contact :