R&D Software Engineer on Heterogeneous Computing

  • Full-time

Company Description

At CERN, the European Organization for Nuclear Research, physicists and engineers are probing the fundamental structure of the universe. Using the world's largest and most complex scientific instruments, they study the basic constituents of matter - fundamental particles that are made to collide together at close to the speed of light. The process gives physicists clues about how particles interact, and provides insights into the fundamental laws of nature. Find out more on http://home.cern.

Diversity has been an integral part of CERN's mission since its foundation and is an established value of the Organization.

This is your Quest. Deepen your knowledge and expertise faster than anywhere else on earth. Take Part!

Job Description

You will join the R&D software development team in the EP-SFT group in the context of the EP R&D Programme on Technologies for Future Experiments.

Driven by the need to achieve higher event throughput at lower hardware and energy costs, there is a growing trend in HEP to make more and more use of heterogeneous computing resources, such as GPUs and FPGAs. This is matched by evolution at data centers in Europe and North America, where such recources become more ubiqitously available to HEP. There is therefore a need to have fully developed support in the data processing frameworks used by the experiments, which will be the main task of the fellow. You will work with the most popular multi-experiment framework, Gaudi, as used by LHCb, ATLAS, FCC and the Key4hep project.

Specific goals that would be achieved are

  • New Gaudi scheduler using HPX as a modern replacement for Intel TBB [M12]
  • Offload mechanism to schedule tasks on heterogeneous resources, importantly not blocking and CPU resources [M18]
  • Demonstrate the ability to schedule work across different nodes, including remote heterogeneous devices [M24]

Envisaged possible extensions would be

  • Data transport mechanism, based on the message passing paradigm, which can be easily accessed at the algorithmic level [M28]
  • A prototype of an event batching mechansim, where data from multiple events is gathered together for processing as a single block on another device [M36]

The website of our R&D project is https://ep-rnd.web.cern.ch/topic/software/turnkey-software-stack and of the EP-SFT group: https://ep-dep-sft.web.cern.ch

Qualifications

Eligibility criteria:

  • You are a national of a CERN Member or Associate Member State;
  • You have a Master’s degree and between 2 and 6 years’ experience or PhD with up to 3 years of relevant experience in computer science, physics or other related field;
  • You should have a working knowledge of English or French.

Skills and/or knowledge:

  • Proficient in the C++ and Python programming languages;
  • Experience in collaborative, production-grade software development (e.g. use of git, code reviews, unit testing);
  • Experience with the data processing frameworks used by the HEP experiments;
  • Experience with computing accelerators (such as GPUs, FPGAs) and their software tooling.

Additional Information

What we offer:

  • An employment contract of in principle 24 months, with a possible extension up to 36 months;
  • On-the-job and formal training at CERN as well as in-house language courses for English and/or French;
  • A monthly stipend ranging between 6050 and 6650 Swiss Francs per month (net of tax);
  • Coverage by CERN’s comprehensive health scheme (for yourself, your spouse and children), and membership of the CERN Pension Fund;
  • Depending on your individual circumstances: installation grant; family, child and infant allowances; payment of travel expenses at the beginning and end of contract;
  • 30 days of paid leave per year.

How to Apply:

You will need the following documents to complete your application:

  • A CV;
  • A scanned PDF of your most recent relevant qualification;
  • We recommend to add two recent letters of recommendation, giving an overview of your academic and/or professional achievements. You can upload these letters at the time of application if you have them to hand. You will also be provided with a link as soon as you have submitted your application to forward to your referees to upload their letters confidentially.

The earliest expected start date for selected candidates is May 2023.

Ready to take part? Then please submit your application by 23 January 2023 at  midnight (12.00 AM CEST). 

Privacy Policy