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.
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 projectsResearch and development of methods/approaches for the effective use of computing acceleratorsDevelopment of concepts to improve the portability and sustainability of High Energy Physics (HEP) softwareContribution to training and dissemination activities related to these areasSupervision of junior team membersAs 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.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 analysisUnderstanding the principles of High Energy Physics simulation, particularly Monte Carlo event generation, is a plusSignificant experience developing code for accelerators, such as GPUs or FPGAsExperience 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 stackExperience with accelerator abstraction frameworks such as Alpaka, Kokkos, oneAPI, SYCL, OpenCL, or OpenMPTechnical competencies:
Development of application software: familiarity with state-of-the-art software development, testing and optimizationRe-use, refactoring, integration and porting of existing softwareKnowledge and application of software life-cycle tools and proceduresUnderstanding of modern computing architecturesUser relationship managementBehavioural competencies:
Achieving results: delivering prompt and efficient service taking into account customer needsWorking in teams: understanding when teamwork is required to achieve the best results; including others accordingly and sharing informationSolving 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 solutionsDemonstrating flexibility: readily absorbing new techniques and working practices; proposing new or improved ways of workingLearning and sharing knowledge: sharing knowledge and expertise freely and willingly with others; coaching others to ensure knowledge transferLanguage 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.
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