What you'll do
We are offering a position in the Physics Software Engineering section of the Computing for Experiments group in the CERN IT department (IT-CE-PSE) on Performance Software Engineering in the realm of high energy physics data simulation.
The work on this post will be carried out in the context of the NextGen project, a collaboration between the LHC experiments and the CERN Research and Computing Departments. NextGen explores the use and impact of high-performance computing architectures in data simulation and data processing for the LHC experiments with a focus on the upcoming High Luminosity (HL-LHC) data taking phase at the CERN Large Hadron Collider.
The simulation of particle collisions is one of the main consumers of computing resources for LHC experiments. Given the expected increase in the required statistics, accuracy and complexity for future simulation, and to stay within the forecasted computing budget, the throughput of simulation software packages needs to increase substantially.
The successful candidate will join a team of software engineers and physicists that addresses this challenge. Together, you will speed up software packages for Monte Carlo (MC) event generation with a focus on the Madgraph event generator suite. Current and future tasks tackled by the team are at the intersection of theoretical/computational physics and computer science. In order to profit from the latest computing hardware, adaptations or re-engineering of software in aspects such as data structures, parallelisation of the workflow or task scheduling are needed. This work is guided by the requirements of experimental analyses and takes into account the latest developments in theoretical predictions.
In case of interest, training on data science, programming languages, software engineering concepts and computing architectures is available and can be provided via various training programs.
Your responsibilities
- Analyse and profile existing simulation code bases and develop strategies for improving their throughput.
- Implement latest software engineering concepts, leveraging on compute accelerators such as GPUs, modern CPU architectures and heterogeneous compute platforms.
- Interact and collaborate with experts in the theory, experimental physics and software engineering communities at CERN and world-wide.
- Supervise students on software development tasks and projects.
Still here? Let's make a quick check about
Your profile
- Proficiency in working with computing hardware accelerators and modern computing architectures, including heterogeneous compute platforms.
- A proven track record in performance software engineering for simulation applications in C++ and GPU programming languages such as CUDA or HIP.
- Knowledge of state of the art profiling tools for heterogeneous computing architectures.
- Experience with the Madgraph event generator software as a developer or user is highly valued.
- Preferably a PhD in Theoretical or Particle Physics or Master's Degree with equivalent work experience with a strong background in numerical simulation.
Your skills
- Proficiency in modern C++ (up to C++23), GPU programming with CUDA and HIP, and Python for scripting, analysis and tooling is essential.
- Knowledge of hard scattering processes and the perturbative order of their matrix element calculations in Monte Carlo event generators is strongly desirable.
- Familiarity with Fortran is an advantage.
- Fluent in English.
- Spoken and written English or French, with a commitment to learn the basics of the other language.
Employment conditions
- Stand-by duty, when required by the needs of the Organization.
- Work during nights, Sundays and official holidays, when required by the needs of the Organization.
Global Benefits at CERN
Let's get you ready
Be sure to meet the eligibility criteria
- By the application deadline, you have a master’s degree with 2 to 6 years of professional experience since graduation or a PhD with a maximum of 3 years of professional experience since graduation. You are not eligible with only a bachelor’s degree.
- You have never had a CERN fellow or graduate contract before.
- Please pay attention to the additional criteria and requirements for this specific position and mentioned above.
You will need these documents to complete your application
- Your CV (English or French)
- A copy of your most relevant diploma or a certificate of achievement from your school (if you don't yet have your paper diploma)
- Any document you consider relevant to your application