Eligibility and closing date: 21.11.2019
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.
Do you have a computing engineer or applied physicist background with passion for heterogeneous computing? Join us and contribute to the development of high-performance event reconstruction algorithms to support CERN with the critical upgrade of its calorimeters and related challenges. Take part!
The High Luminosity LHC (HL-LHC) will collect 10 times more integrated luminosity than the LHC, posing significant challenges for radiation tolerance and event pileup on detectors, especially for forward calorimetry. As part of its HL-LHC upgrade program, the Master's degree or PhD or equivalent relevant experience in the field of computing or physics or a related field.
- Extensive experience in C++ programming, including the latest C++ standards (C++11,14,17).
- Extensive experience in adapting scientific computing methods to best exploit modern parallel environments (e.g. distributed clusters, multicore SMP, and GPU).
- Extensive experience in implementing and optimizing algorithms on GPU's through CUDA, OpenCL or through abstraction layers (Alpaka, Sycl,etc...)
- Demonstrated experience in the development of HEP data processing frameworks and particle reconstruction.
- Initial experience with deep learning framework (e.g. TensorFlow, Torch etc.) would be a plus.
- Knowledge and application of physics reconstruction techniques: clusterisation, cellular automata, shower reconstruction, tracking and particle flow techniques.
- Knowledge of programming techniques and languages: modern C++ (C++11,14,17), CUDA, OpenCL.
- Development of application software: object-oriented design and development, parallel programming, algorithm development and optimisation.
- Knowledge and application of software life-cycle tools and procedures: git/github/gitlab; JIRA.
- Achieving results: delivering high quality work on time and fulfilling expectations; following through on new ideas and innovations; planning and implementing application; objectively assessing and monitoring own work; regularly reporting on progress and advising of any changes in schedule or priorities.
- Solving problems: addressing complex problems by breaking them down into manageable components; finding the information needed to solve problems; making objective judgments based on all the facts available; 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: keeping up-to-date with developments in own field of expertise and readily absorbing new information; taking steps to expand knowledge in other areas of expertise beyond own field; sharing knowledge and expertise freely and willingly with others; coaching others to ensure knowledge transfer.
- Working in teams: working well in groups and readily fitting into a team; participating fully and taking an active role in team activities; cooperating constructively with others in the pursuit of team goals; balancing personal goals with team goals; seeking to help other team members when own work is done; supporting others.
- Demonstrating flexibility: demonstrating openness to new ideas and situations; readily absorbing new techniques and working practices; proposing new or improved ways of working; actively participating in the implementation of new processes and technologies.
- English: very good command (spoken and written).
- French: basic command or willingness to acquire the language.
Eligibility and closing date: 21.11.2019