Categories
cdd highlight job

[JOB] 2-year HPC Engineer Position at CEA 👩‍💻🧑‍💻- Methods and tools for optimizing Kokkos kernels in large GPU codes

CEA is recruiting a C++/HPC expert for two years to join the CExA “Moonshot” project team to develop new methods and tools to optimize the performance of portable kernels implemented using the Kokkos library. As a use-case, these tools and techniques will be demonstrated in the Dyablo code, a novel HPC code for simulating astrophysical fluids, from stellar interiors to cosmological simulations.

To apply, please send your application (CV and cover letter) to contact@cexa-project.org. If you have any questions about the position, please use the same address. Applications will be assessed from now and until the position is filled.

Context

Europe is investing to build Exaflop supercomputers in the coming years, including the Alice Recoque one in France, at CEA in 2025. These machines will be heterogeneous, and based on GPUs of various brands and architectures. Ensuring performance and portability under these conditions is certainly one of the most significant challenges for Exascale. To address this, CEA is investing heavily in an ambitious “Moonshot” project: CExA. Part of CExA is contributing to the Kokkos C++ GPU programming model to add new features required by European codes and ensure that it is compatible with European supercomputers so researchers can exploit these architectures for their scientific applications. One of these scientific applications is the Dyablo code developed since 2020 at CEA for simulating astrophysical fluids with adaptive mesh refinement. This code was written from the start using Kokkos and is thus already facing optimization challenges that many other codes will face in the coming years.

In this context, CEA opens a two-year engineering position to develop new methods and tools to optimize large applications based on Kokkos. This project will use Dyablo as a use case to test and validate the optimization methods. This project will involve the development team of Dyablo as well as key players of the CExA Moonshot :

  • The DRF’s software and engineering department of the Institute of research into the fundamental laws of the Universe (IRFU) is the main developer of the Dyablo code.
  • Maison de la Simulation (https://www.mdls.fr) of the DRF is a joint research and engineering laboratory of CEA, CNRS, Univ. Paris-Saclay and UVSQ specialized in high-performance computing and numerical simulation.
  • The DES’s software engineering department for simulation brings together three laboratories that address the issues of the simulation environment, AI and data science, high-performance computing, and numerical analysis.
  • The DSSI of the DAM manages activities in computer science, applied mathematics, and information systems, covering a broad spectrum from definition and design to user services.

Mission

As part of both the Dyablo and CExA teams, you will develop tools and methods to optimize the performance of Kokkos’ applications and apply them to Dyablo.

Your mission will include:

  • Development of new methods for the optimization of large applications using Kokkos:
    • Design and develop a tool to extract kernels from a large code while capturing inputs and outputs to generate a self-consistent mini-app that can be easily profiled and optimized separately from the rest of the code.
    • Develop a tool to profile and analyze the performance of the mini-apps extracted by the previous tool. This profiler should be able to provide insights like a profiling software such as Vtune.
    • Design an auto-tuning method to fine-tune any free parameter of the mini-app to gain the optimal performance on a given target architecture.
  • Application of this new set of tools and methods on the Dyablo code:
    • Profile the hotspots of the code and generate a set of self-consistent mini-apps for different types of simulations and architectures.
    • Investigate the optimization potential of the code on different architectures such as Nvidia GPUs, AMD CPUs, and GPUs or Intel CPUs.

    Salary and benefits

    Fiche de poste PTC – SN – MOONK

    • The CEA offers salaries based on your degrees and experience.
    • This position offers several advantages: the possibility to join collaborations with other European laboratories, the United States and Japan,
    • Numerous opportunities to travel internationally (exchanges, conferences, workshops and more)
    • Up to 3 days of telecommuting per week
    • Reimbursement of up to 75% of public transport cards and a free transport network throughout the Ile-de-France region,
    • Interesting complementary health insurance and several company savings plans,
    • 5 weeks of paid vacation and 4 weeks of RTT per year.
    Categories
    cdd highlight job

    [JOB] HPC Engineer Position at CEA 👩‍💻🧑‍💻- Contribution to the development of a genomic code on GPU for the GenEx project

    Join the CEA’s ambitious GenEx project and contribute to the development of a genomic computing library adapted to GPU and exascale systems. We are recruiting an HPC engineer for a period of 1 year (renewable for a second year) to work at our CEA Saclay site near Paris.

    To apply, please send your application (resume and cover letter) to edouard.audit@cea.fr. You can use this same address for any questions concerning the offer. Applications will be evaluated from mid-September until the position is filled.

    Context

    The objective of GenEx is to develop, through a collaboration between the Joliot Institute and the Maison de la Simulation (MdlS), an innovative, versatile, and highly efficient code to interpret genomics experiments, initially focusing on DNA repair mechanisms that are the subject of many experiments at Joliot. This requires very intensive computations, making it essential to have a code capable of fully utilizing the computational power of exascale architectures.

    The collaboration between Joliot and MdS will combine top-level expertise in computer sciences and genomics. Thus, GenEx will implement a tool that will represent a significant advancement over existing tools. Traditional algorithms handling this type of problem are based on Monte-Carlo methods involving conditional events for each agent involved in the process. This approach is particularly unsuitable for GPU-type architectures. Therefore, a new algorithmic approach has been conceived. This approach handles agent interactions in batches, enabling highly efficient GPU code.

    The recruited engineer will be co-supervised by MdS and Joliot to implement this new approach. To achieve a portable, efficient code that fully exploits GPUs, the core of the code will be developed using the Kokkos library, for which there is strong expertise at MdS and within the CExA project. Subsequently, a Python interface will be established to make the code easily usable by the community of biologists/bioinformaticians/biophysicists, knowing that ultimately GenEx could interest many teams in various fields of application.

    The initial applications will focus on yeast, whose genome contains 6k genes each with 300 to 3k base pairs. To interpret experimental results, it is necessary to simulate several million experiments for each gene with a model having about ten free parameters (>100Mh with current methods). One of the long-term objectives will be to conduct a similar study on the human genome (20k genes with 300 to 3M base pairs) on the Exascale machine soon to arrive at CEA. PTC funding is essential to initiate the implementation of the code, and the significant results thus obtained will have a substantial leveraging effect for further development.

    Mission

    As part of the GenEx team you will be responsible to develop and test the new software in collaboration with experts of genomics at Joliot and of computer science at MdS.

    Your mission will include:

    • Discussions and set-up of the physical models to modelise DNA repairs
    • Test of various algorithms to solve these models
    • Development of an highly efficient code, based on Kokkos, to implement the previous

    Skills

    You have a master and/or an engineering degree in computer science and:

    • You have a good knowledge of C++.
    • You have skills in software engineering. You are familiar with common development environments and associated tools.
    • Knowledge of parallel programming (GPU, multi-threaded, etc.) is a plus, especially with the Kokkos library or equivalent.
    • You are autonomous and you wish to be part of an interdisciplinary work team.

    Salary and benefits

    The CEA offers salaries based on your degrees and experience. This position offers several advantages:

    • Numerous opportunities to travel internationally (exchanges, conferences, workshops and more).
    • Up to 3 days of telecommuting per week.
    • Reimbursement of up to 75% of public transport cards and a free transport network throughout the Ile-de-France region.
    • An interesting complementary health insurance and several company savings plans.
    • 9 weeks of paid vacation per year.
    Categories
    cdd highlight job

    [JOB] Engineer Position 👩‍💻🧑‍💻- HPC packaging Expert

    Overview

    We are looking for a candidate with a Master’s degree, Engineer’s degree or PhD in computer science, junior or senior, to join a team responsible for the packaging, deployment, and testing of supercomputing libraries for supercomputers.

    The position is located at Maison de la Simulation team (https://mdls.fr), in Saclay (near Paris), but our team is distributed in the following other locations:

    • Inria Datamove team (https://team.inria.fr/datamove), located near Grenoble, in the French Alps
    • Inria SED team (https://sed-bso.gitlabpages.inria.fr), located near Bordeaux, close to the Atlantic Ocean

    This work is part of the NumPEx project (http://www.numpex.fr) which is endowed with more than 40 million euros over 6 years, starting from 2023. This project aims to build a software stack for Exascale supercomputers related to the arrival in Europe of the first Exascale machine. The French supercomputer is expected for 2025. These machines will be among the most powerful in the world (https://top500.org), used for traditional scientific applications and artificial intelligence workloads. Our role in NumPEx is to design and implement an innovative packaging, deployment and testing strategy. Commonly used solutions show their limits in front of the complexity of supercomputers and applications, as well as the need for reproducibility for open science. Our goal is to build a solution based on a new generation of promising packaging tools: Guix, Nix, Spack, …

    • Contact: Benoît Martin (bmartin@cea.fr) & Bruno Raffin (bruno.raffin@inria.fr)
    • Duration: 3 years
    • Start date: ASAP

    Assignment

    You will contribute to the design and implementation of the packaging and continuous integration strategy. You will participate in the deployment and testing of the infrastructure. Furthermore, you will also participate with user support and training activities around all these aspects. Our packaging strategy is centered on the open source tools Guix (https://hpc.guix.info), Nix (https://nixos.org) and Spack (https://spack.io). In direct contact with the development teams of these tools, with the supercomputer administration teams, and with our foreign counterparts (European, Japanese, American, etc.), you will participate in:

    1. the design of the packaging strategy of the NumPEx project
    2. the effort of packaging these libraries with the proposed tools
    3. the design of a package test and validation solution taking into account the specificities of supercomputers
    4. the development of a solution allowing non-administrator users to deploy NumPEx libraries on supercomputers
    5. training around all of these aspects for researchers and engineers

    Skills

    Master’s degree, Engineer’s degree or PhD, beginner or confirmed (salary adjusted according to experience) in computer science.

    The essential expected skills are:

    • Good practice of Unix/Linux system and system administration
    • Good programming experience (C/C++, Python)
    • Experience with software compilation and installation chains, version management tools, testing and continuous integration (CMake, Git, GitHub, GitLab, …)
    • The work being performed in an international context, a good practice of technical English (written and oral) is expected (proficiency in French is not compulsory), as is a taste for team work.

    Any additional skill related to package managers (Guix, Nix, Spack, apt, rpm, pip, …), containers (Singularity/Apptainer, Docker, …) or open source development are a plus. An initial training time will be provided to complement the missing skills. You will integrate an academic research environment which will give you, throughout your contract, the opportunity to complete your training on cutting-edge technologies.

    Application

    To apply, please send the following elements to Benoît Martin and Bruno Raffin:

    • a curriculum vitae
    • a motivation letter
    • references from people we can contact to certify your qualities
    • a recent internship or thesis report
    • links to software contributions

    Salary and benefits

    The CEA offers salaries based on your degrees and experience. This position provides several advantages:

    • The possibility of joining collaborations with other European laboratories, the United States, and Japan
    • Numerous opportunities to travel internationally (exchanges, conferences, workshops and more)
    • 5 weeks of paid vacation and 4 weeks of RTT per year, and up to 2 days of remote work per week.
    • Reimbursement of up to 75% of public transport cards and a free transport network throughout the Ile-de-France region
    • Complimentary health insurance and several company savings plans
    Categories
    cdd highlight job

    [JOB] C++ expert engineer 👩‍💻🧑‍💻- Contribution to the development of the Kokkos GPU computing library within the CExA “Moonshot” project

    Join the CEA’s ambitious “Moonshot” project, CExA, and contribute to the development of the Kokkos GPU computing library. We are recruiting six talented and enthusiastic C++ development engineers for a period of 2 years to work at our CEA Saclay site near Paris.

    To apply, please send your application (resume and cover letter) to contact@cexa-project.org. You can use this same address for any questions concerning the offer. Applications will be evaluated from mid-May until the position is filled.

    Context

    Europe is investing to build exaflop supercomputers in the coming years, including one in France, at the CEA, in 2025. These machines will be heterogeneous, accelerated by GPUs of various brands and architectures. Ensuring performance and portability under these conditions is certainly one of the greatest challenges of the Exascale. To address it, CEA is investing heavily in an ambitious “Moonshot” project: CExA. In this project, we will setup libraries to fully exploit this computing power in the scientific applications of the CEA by contributing, extending and adapting the open-source library Kokkos. Within CExA, we represent teams with expertise in numerical computation from the four components of the CEA.

    • Maison de la Simulation of the DRF is a joint research and engineering laboratory of CEA, CNRS, Univ. Paris-Saclay and UVSQ specialized in high performance computing and numerical simulation.
    • The DES’s software engineering department for simulation brings together three laboratories that address the issues of simulation environment, AI and data science, high performance computing and numerical analysis.
    • The DSCIN at DRT/LIST is responsible for the research and development of digital integrated circuits and processors for AI, as well as the design of complex digital architectures. It also works on solutions for embedded systems and develops design tools for embedded AI, embedded systems and trusted circuits.
    • The DSSI of the DAM manages activities in the fields of computer science, applied mathematics and information systems, covering a wide spectrum from definition and design to user services.

    Mission

    As part of a new agile team being set up to carry out the CExA project, you will work in collaboration with the European HPC ecosystem and the teams in charge of the development of Kokkos in the United States (Sandia and Oakridge National labs). You will enrich the library to fit the needs of the CEA applications and to the technologies developed by Europe for the Exascale (EPI, SiPearl, RISC-V).  You will work with cutting-edge and experimental hardware technologies from major vendors (NVIDIA, AMD, INTEL, ARM) that will equipped forthcoming super-computers.

    Your mission will include:

    • Agile development in C++ of the CExA middleware to address the following areas of improvement:
      • Adaptation to “distributed memory” architectures
      • Support for heterogeneous architectures for European exaflop supercomputers
      • Interfacing with external libraries and data processing tools
      • Simplification of deployment
    • Porting via Kokkos and integration of new functionalities in selected application demonstrators (hydrodynamics, fusion energy, AI-assisted medicine)
    • Support and animation on parallel programming models within the laboratory and at the scale of European and global collaborations.

    Skills

    You have a master and/or an engineering degree in computer science and:

    • You have a solid knowledge of advanced C++ and the latest standards.
    • You know how to fit into an agile development process (SCRUM) and you master the basic tools associated with collaborative development (git, github, etc.).
    • You have skills in software engineering. You are familiar with common development environments and associated tools (cmake, docker, spack, gtest, ctest, etc.).
    • Knowledge of parallel programming (GPU, multi-threaded, etc.) is a plus, especially with the Kokkos library or equivalent.
    • You are autonomous and you wish to be part of an international work team. You master technical English (written and oral). You are interested in the world of high-performance computing and its challenges and follow the evolution of technologies.

    Salary and benefits

    The CEA offers salaries based on your degrees and experience.

    This position offers several advantages:

    • the possibility to join collaborations with other European laboratories, the United States and Japan,
    • Numerous opportunities to travel internationally (exchanges, conferences, workshops and more)
    • Up to 3 days of telecommuting per week
    • Reimbursement of up to 75% of public transport cards and a free transport network throughout the Ile-de-France region,
    • An interesting complementary health insurance and several company savings plans,
    • 5 weeks of paid vacation and 4 weeks of RTT per year.
    Categories
    cdd highlight job

    [JOB] Postdoc at CEA Cadarache 👩‍💻🧑‍💻- Autotuning for ultra-high performance computing with partitioned coupling

    Contact

    FAUCHER Vincent CEA DES/DTN/DIR (See pdf)

    Background

    Taking into account multiple and coupled physics is at the heart of many application needs in fields as varied as, but not limited to, aeronautics, defense and biology. This is also strong area of expertise for CEA’s Energy Division, with multiple domains including fluid-structure interaction, neutronics coupled with thermal-hydraulics a/o thermal-mechanics or severe accident modeling. The emergence of exascale architectures opens the way to promising new levels of high-fidelity simulations, but is also significantly increasing the complexity of many software applications in terms of total or partial rewriting. It therefore specifically encourages coupling to limit development work. The idea is to search for each physics of interest in a necessarily reduced number of highly optimized software components, rather than making specific, possibly redundant developments in standalone applications.
    Once the coupled multiphysics problem has been written with the expected levels of accurracy and stability, the proposed work concentrates on the resolution algorithms to enable the coupling between applications asssumed to be themselves exascale-compatible, to be solved efficiently at exascale. It is also worth noting that, in general, the couplings under consideration can present a high level of complexity, involving numerous physics with different level of feedback between them and various communications from border exchanges to overlaping domains. The current post-doctoral internship to be carried out in the framework of the ExaMA collaborative project, is in particular dedicated to the identification and dynamic tuning of the relevant numerical parameters arising from the coupling algorithms and impacting the computational efficiency of the global simulation. Considered problems are in the general case time-evolving problems, with a significant number of time iterations allowing using the first iterations to gather data and conduct the tuning.

    Categories
    cdd highlight job

    [JOB] PostDoc at LIP6 👩‍💻🧑‍💻- Precision auto-tuning and numerical validation of high performance simulations

    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.

    Categories
    cdd highlight job

    [JOB] HPC DevOps Engineer at CEA 👩‍💻🧑‍💻- Deployment and CI on supercomputers for the C++ Kokkos library within the “Moonshot” CExA project

    CEA is recruiting DevOps engineers for a 2-year period to join the CExA “Moonshot” project team, which is setting up CEA’s GPU computing software stack around the Kokkos C++ library, to contribute to innovative packaging, deployment and continuous integration approaches for supercomputers, based in particular on Spack. A team of more than 10 people is currently being set up. The positions will be based at the CEA Saclay site near Paris.

    To apply, please send your application (CV and covering letter) to contact@cexa-project.org. If you have any questions about the position, please use the same address. Applications will be assessed from mid-November until the position is filled.

    Context

    Europe is preparing for the arrival of the first exascale supercomputers, including one in France, at the CEA, from 2025. These machines will be heterogeneous, accelerated by GPUs of various vendors and architectures. Ensuring performance and portability under these conditions is undoubtedly one of the greatest challenges of Exascale. To address this, the CEA is investing heavily in an ambitious ‘Moonshot’ project: CExA. In this project, we will be providing the libraries needed to fully exploit this computing power in CEA’s scientific applications by contributing to, extending and adapting the Kokkos open-source library. The software stack created in this way will be deployed on the supercomputers using the Spack tool, which has been specially designed for supercomputing environments. Within CExA, we represent teams with expertise in numerical computation from the CEA’s four divisions.

    • Maison de la Simulation (https://www.mdls.fr) of Fundamental Research division the is a joint research and engineering laboratory of the CEA, CNRS, Paris-Saclay University and Versailles Saint Quentin University specializing in high-performance computing and numerical simulation.
    • The software engineering department for simulation of the Energy Research Division groups together three laboratories that address the issues of simulation environments, AI and data science, intensive computing and numerical analysis.
    • LIST’s DSCIN at Technological Research Department is responsible for the research and development of digital integrated circuits and processors for AI, as well as the design of complex digital architectures. It also works on solutions for embedded systems and develops design tools for embedded AI, embedded systems and trusted circuits.
    • The DSSI at Military Application Department manages and carries out activities in the fields of computing, applied mathematics and information systems, covering a broad spectrum from definition and design to user services.

    Mission

    As part of a new agile team being set up to carry out the CExA project, you will be working in collaboration with the French (in particular NumPEx) and European HPC ecosystem and with the teams in charge of developing Kokkos and Spack in the United States to adapt the tools to the needs of the applications developed by the CEA and to the technologies developed by Europe for Exascale (EPI, SiPearl, RISC-V).

    Your mission will include:

    • Supporting agile development in C++ around Kokkos by contributing to the following points:
    • Implementing a testing and performance measurement strategy.
      • Designing, automating and administering continuous integration pipelines.
      • Working with development teams to optimize packaging and deployment processes.
      • Assist with deployment on heterogeneous architectures for European exaflop supercomputers.
    • Identify and participate in the development of missing functionalities within the tools used for packaging and deployment and continuous integration.
    • Helping to deploy Kokkos in the software environments of selected application demonstrators (hydrodynamics, fusion energy, etc.).
    • Provide support and leadership on these themes within the organization and on the scale of European and global collaborations.

    Skills

    You have a Master’s degree and/or an engineering degree in computer science and:

    • You will be able to work within an agile development process (SCRUM) and be familiar with the basic tools associated with collaborative development (Git, GitHub, etc.).
    • You have software engineering skills. You are familiar with common development environments and associated tools (CMake, Docker, Spack, GoogleTest, CTest, etc.).
    • Scripting skills (Python, Shell, etc.)
    • Any knowledge of parallel programming (GPU, multi-threading, etc.) is a plus, particularly with the Kokkos library or equivalent.
    • You have knowledge of the C++ ecosystem.
    • You are a self-starter and are keen to join an international team. You have a good command of technical English (written and spoken). You are interested in the world of high-performance computing and its challenges and keep updated with the latest technological evolution.

    Salary and benefits

    The CEA offers competitive salaries depending on your qualifications and experience.

    There are several advantages to this position:

    • The possibility of joining existing collaborations with other laboratories in Europe, the United States and Japan,
    • Numerous opportunities for international travel (exchanges, conferences, workshops and more),
    • Up to 3 days’ teleworking per week,
    • 75% reimbursement on public transport and a free transport network throughout the Ile-de-France region,
    • An attractive supplementary pension scheme and several company savings plans,
    • 5 weeks’ paid holiday and 4 weeks’ RTT per year.
    Categories
    cdd job

    [JOB] Two postdoctoral positions for the modeling of alkaline electrolysis

    Join the CEA/TotalEnergies collaboration DAWN, and contribute to the development of a digital twin for the production of green dihydrogen with alkaline electrolysers. We are recruiting two postdoctoral researchers to develop the numerical tools Flower and canoP for a period of 2 years to work at our CEA Saclay site near Paris.

    To apply, please send your application (resume and cover letter) to Pascal Tremblin and Taraneh Sayadi. You can use the same addresses for any questions concerning the offer. Applications will be evaluated until the positions are filled.