CERN
Lead Software Engineer – Machine Learning (EP-SFT-2024-41-LD)
Job Description
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
You will join the software development for experiments (SFT) group (http://ep-dep-sft.web.cern.ch) which develops and provides support for scientific software for the High Energy Physics experimental collaborations at CERN and worldwide. Your work will be part of the context of the Next Generation Trigger project, a five-year initiative to develop novel solutions for real-time event processing at the LHC experiments, leveraging new technologies such as artificial intelligence and heterogeneous computing. In the context of this project, you will be in charge of two of the common tasks of the project.
- Leading the development and managing the maintenance of hls4ml (https://fastmachinelearning.org/hls4ml/) and Conifer (https://github.com/thesps/conifer), two software libraries developed by CERN and its partners to deploy machine learning algorithms on FPGAs.
- Leading the development of a library for hardware-aware end-to-end training and optimization of neural networks, supporting compression techniques such as pruning and quantization and interfaced to hls4ml.
Functions
As the coordinator of these two activities, you will:
- Supervise and recruit a team of computer scientists to work on software development and contribute directly to the design and implementation of the required ML libraries.
- Ensure the timely achievement of the NGT milestones related to both tasks (e.g., software release, documentation, presentations at conferences).
- Work in close contact with experts from the LHC experiments and external partners within the FastML ( https://fastmachinelearning.org) community. This partnership aims to identify user requirements and strategize their implementations.
- Organize periodic user-community workshops to communicate on the status of the tasks and gather information on additional requirements and functionalities.
- Participate in managing common activities of the NGT project alongside other task leaders.
Qualifications
Master’s degree or PhD or equivalent relevant experience in the field of Experimental Particle Physics or Computing Science or a related field.
Experience:
You have:
- Demonstrated experience in high-performance software development including task prioritization, and customer interaction;
- Demonstrated experience with FPGA programming with knowledge of High Level Synthesis libraries (Vivado, Quartus, etc..);
- Proven mastering of performance and memory profiling technologies and debugging techniques for both CPU and GPU programming;
- Knowledge of distributed training techniques for machine learning algorithms;
- Expertise in neural network compression techniques such as pruning, quantization, etc;
- Proven track record of scientific publications;
- Experience in managing software development projects in scientific environments will be considered as a valuable experience;
- Understanding of machine learning applications for High Energy Physics will be considered an advantage.
Technical competencies:
- Knowledge of programming techniques and languages
- Development of application software
- Knowledge and application of software life-cycle tools and procedures: machine learning training software (PyTorch, Tensorflow, Horovod).
- Testing, diagnosing and optimization of software
- Conceptualising, designing and developing user experiences and interfaces
Behavioural competencies:
- Achieving Results: having a structured and organised approach towards work; being able to set priorities and plan tasks with results in mind. Delivering prompt and efficient service taking into account customer needs.
- Solving Problems: recognizing what is essential; discriminating between important and peripheral information and being able to see the whole picture. Being open to original ideas and creative options by which to address issues; continually driving change by seeking new ways to improve outcomes.
- Learning and Sharing Knowledge: sharing knowledge and expertise freely and willingly with others; coaching others to ensure knowledge transfer.
- Demonstrating Flexibility: adapting quickly and resourcefully to shifting priorities and requirements.
- Communicating Effectively: delivering presentations in a structured and clear way; adjusting style and content to the audience; responding calmly and confidently to questions.
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. The willingness to learn French language would be an asset.
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 15.05.2024.
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: EP-SFT-2024-41-LD
Benchmark Job Title: Applied Physicist