HPC Ingineer

Updated: almost 2 years ago
Job Type: FullTime
Deadline: 15 Jul 2022

Missions

Contribute to the evolution of the National Observation Services at OCA in geosciences and astronomy in terms of high performance computing with codes either existing or being developed as part of large projects (SKA) or as an interface to agencies (ESA) in a context of rapidly increasing needs and increasing cost of resources (capital, energy).

The recruited person will be part of the SCOOP SAFe Agile team working on software/hardware co-design for the two supercomputers of SKA. He or she will evaluate accelerator-based strategies, programming models, IO rates, resource utilisation, performance and energy efficiency in order to make these systems as efficient as possible.

He or she will also contribute to the planetary ephemerides INPOP, in particular in terms of reducing execution times et running the software in order to add a large number of new objects resulting from the Gaia mission (DR3) and to provide ephemerides data to ESA missions in operation (Bepi-Colombo, JUICE).

Activities

The research engineer will work at OCA. OCA is an institute composed of three laboratories (UMR) and a supporting structure (UAR) employing close to 450 persons at 4 locations. He or she will join the IT department part of the UAR. He or she will work on projects coming from several UMR of OCA and collaborate with members of several teams.

The reseach engineer will carry out the following activities:

  • Analyse the needs of the National Observation Services in relation to high performance computing on supercomputers and derive functional specifications and development plans
  • Study hardware/software co-design questions in HPC for identified applications, notably through the definition of benchmarks to identify and characterise possible hardware and/or software improvement avenues
  • Prototype the corresponding improvement and collaborate with developers to optimise the software
  • Develop an infrastructure that orchestrates the running of benchmarks and collects various performance metrics (performance, data flow, power etc.) on different platforms
  • Run benchmarks on a variety of platforms and interpret results, for example via profiling and data analysis

Skills

  • Proficient in high-performance computing (HPC) and hybrid parallelism (MPI and OpenMP), including optimization technique in a parallel programming context (benchmark, profiling)
  • Experience with HPC environments, including batch schedulers (like SLURM), package managers (module, Spack), working knowledge of Linux in command line mode
  • Experience in collaborative development
  • A working knowledge of modern C++ (14+)
  • Good knowledge of English (B2 level written and spoken) for writing documentation and actively participating in meetings
  • Creative and innovative mindset
  • Ability to work in a team
  • A working knowledge of signal processing and data analysis would be appreciated
  • Knowledge of other programming languages and paradigms would be appreciated.
  • A working knowledge of collaborative development environments (DevOps, git) would be appreciated
  • Previous experience on shared HPC clusters (national or regional) would be a plus
  • Knowledge of accelerators (like GPUs) and their use via programming libraries/environment (CUDA, oneAPI, Kokkos, HIP) would be a plus
  • Knowledge of containerization technologies (Docker, Singularity, Sarus) would be a plus


Similar Positions