Performance Software Engineer (IT-GOV-INN-2024-99-LD)

CERN
Posted on

Type

Researcher / analyst

Reference Number

IT-GOV-INN-2024-99-LD

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.

Job Description

Introduction

The experiments at the Large Hadron Collider use software systems with several million lines of complex code to simulate, process and analyse the many PetaBytes of data recorded every year. In the near future the LHC will be upgraded to the High Luminosity-LHC (HL-LHC), pushing their computing needs to the exascale. Also the computing fabric is expected to change radically and it is likely that a large fraction of the resources will originate from accelerators such as GPUs. Evolving the software to meet these requirements will be challenging in many ways.

Our Research and Development team works in close collaboration with the LHC experiments, theoretical physicists and other teams on solving the HL-LHC challenge with a current focus on optimising simulation software applications and especially Monte Carlo event generator packages. For the Monte Carlo event generation during HL-LHC an increase of the amount of simulated events as well as a higher accuracy in the simulation will result in a drastic increase of the needed compute time. Therefore the team currently concentrates on hardware acceleration and algorithmic improvements of Monte Carlo event generator packages.

In addition to the work on performance software engineering of high energy physics software applications the team's efforts cover several more aspects of efficiency and performance software engineering, ranging from the development of performance and resource utilisation analysis tools, compiler performance studies, investigations of the energy efficiency of workloads, evaluation of latest computing architectures and the studies on accelerator abstraction frameworks.

CERN provides opportunities for professional development through a rich and varied learning offering, including training on data science, programming languages, software engineering concepts and computing architectures.

More information on the IT Department is available at http://cern.ch/it.             

Functions

Your main functions will include:

  • Software development for the cross-community computing projects
  • Research and development of methods/approaches for the effective use of computing accelerators
  • Development of concepts to improve the portability and sustainability of High Energy Physics (HEP) software
  • Contribution to training and dissemination activities related to these areas
  • Supervision of junior team members

As a Software Engineer, you will work on several of the following topics:

  • Contribute to cross-community development projects. In these projects, the team collaborates with the core development teams of the large scientific software packages to improve their performance and adapt them to the changes in the computing infrastructure.
  • Evaluate and apply libraries and frameworks for the abstraction of hardware accelerators. The basis of these studies will be the work with components of the HEP software stack such as event generator codes.
  • Help the community in the process to make efficient use of modern HPC systems. The focus will be to develop strategies based on practical experience.
  • HEP code has a very long lifetime and the code contains contributions of hundreds of scientists, with many of them no longer part of the community. Based on your work with these codes you will suggest approaches and methodologies to improve their portability and sustainability.
  • Prepare training and information material related to your field of expertise and actively communicate the results of your work to the relevant stakeholders in the physics and computing communities.
  • Actively build collaborative relationships with the developer and user communities of HEP software at CERN by participating in workshops, conferences and informal exchange of information.         

Qualifications

Master's degree or PhD or equivalent relevant experience in the field of Theoretical or Experimental Physics or Computer Science or a related field.

Experience:

The ideal candidate should have demonstrated experience in several of the following areas:

  • Extensive experience with modern C++ in a Linux/UNIX environment, including tools for building, debugging, and performance analysis
  • Understanding the principles of High Energy Physics simulation, particularly Monte Carlo event generation, is a plus
  • Significant experience developing code for accelerators, such as GPUs or FPGAs
  • Experience in refactoring or porting large codebases (over 100k source lines of code)
  • Background in supporting scientific code on HPC systems or familiarity with components of the HEP software stack
  • Experience with accelerator abstraction frameworks such as Alpaka, Kokkos, oneAPI, SYCL, OpenCL, or OpenMP

Technical competencies:

  • Development of application software: familiarity with state-of-the-art software development, testing and optimization
  • Re-use, refactoring, integration and porting of existing software
  • Knowledge and application of software life-cycle tools and procedures
  • Understanding of modern computing architectures
  • User relationship management

Behavioural competencies:

  • Achieving results: delivering prompt and efficient service taking into account customer needs
  • Working in teams: understanding when teamwork is required to achieve the best results; including others accordingly and sharing information
  • Solving problems: identifying, defining and assessing problems, taking action to address them Adopting a pragmatic approach; understanding the value of adopting generic rather than 'gold -plated' technical solutions
  • Demonstrating flexibility: readily absorbing new techniques and working practices; proposing new or improved ways of working
  • Learning and sharing knowledge: sharing knowledge and expertise freely and willingly with others; coaching others to ensure knowledge transfer

Language skills:

Spoken and written English: ability to understand and speak the language in professional contexts. Ability to draw-up technical specifications and/or scientific reports and to make oral presentations.

Additional Information

Eligibility and closing date:

Diversity has been an integral part of CERN's mission since its foundation and is an established value of the Organization. Employing a diverse workforce is central to our success. We welcome applications from all Member States and Associate Member States.

This vacancy will be filled as soon as possible, and applications should normally reach us no later than 04.08.2024 midnight CEST.

Employment Conditions

Contract type: Limited duration contract (5 years). Subject to certain conditions, holders of limited-duration contracts may apply for an indefinite position.

These functions require:

  • Work during nights, Sundays and official holidays, when required by the needs of the Organization.

Job grade: 6-7

Job reference: IT-GOV-INN-2024-99-LD

More Information

Posted on

Type

Researcher / analyst

Reference Number

IT-GOV-INN-2024-99-LD

Geneva%2C%20GENEVA%2C%20CH%2C%20Gen%C3%A8ve%2C%20Switzerland

Geneva, GENEVA, CH

Genève , Switzerland