Skip to main content

This job has expired

Graphics Processing Unit Software Programmer

Employer
CERN
Location
Geneva, Switzerland
Closing date
30 Sep 2019

Job Details

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

Would you like to take part in exciting computing developments at the cutting edge of modern hardware and software technology? Are you an expert in GPU programming who enjoys coordinating innovative projects? Do you have experience with the development of track reconstruction algorithms? Then join the ALICE Experiment and contribute to the success of the upgrade of the experiment’s online and offline computing to a new common system called O2.

ALICE (A Large Ion Collider Experiment) is a dedicated heavy ion experiment at the Large Hadron Collider (LHC). The ALICE Collaboration is studying the physics of strongly interacting matter at extreme energy densities and temperatures. In Run 3+4 (2021-2029) ALICE will operate at a peak Pb-Pb collision rate of 50 kHz. All events will be read out, reconstructed synchronously with data-taking, compressed and written to permanent storage without any selective trigger. This will allow ALICE to assess rare probes with large backgrounds, for which data reduction with online triggers is not possible.

Within the ALICE software development and support group (EP-AIP-SDS) you will take a leading role in the development of high-performance event reconstruction algorithms on modern CPU and GPU architectures. You will also participate in the commissioning and maintenance of the new online and offline computing system.

Functions

You will play important role in the architectural design, development and support activities associated with the ALICE Physics Data Processing (PDP) project for Run 3+4. Your functions will include:

  • System design and software development of the PDP data transport and processing layers, using message-based multiprocessing in heterogeneous clusters with CPU and GPGPU.
  • Coordinate the design and development of fast algorithms for data processing within the PDP, including clusterisation, tracking, primary and secondary vertex finding, compression, and calibration algorithms.
  • High-level consultancy and expert help to the software developers working on the performance optimization of the algorithms, and developing code for GPGPU.
  • Development of testing procedures and quality assurance of the data reconstruction.
  • Participate in testing, commissioning and maintenance of the ALICE online and offline computing system.
  • Participate in studies for future upgrades of the system.

Qualifications

Master's degree or PhD or equivalent relevant experience in the field of computing or physics, or a related field.

Experience:

  • Extensive experience in C++ programming, including the latest C++ standards (C++11,14,17).
  • Extensive experience on adapting scientific computing methods to best exploit modern parallel environments (e.g. distributed clusters, multicore SMP, and GPGPU).
  • Extensive experience implementing and optimizing algorithms on GPU’s through CUDA and OpenCL.
  • Demonstrated experience in the development of HEP data processing frameworks and particle reconstruction (cluster, track and vertex finding).
  • Initial experience with deep learning framework (e.g. TensorFlow, Torch, etc.) is a plus.

Technical competencies:

  • Knowledge and application of particle tracking methods and techniques: cellular automata, Kalman filter, Hough transform.
  • Knowledge and application of physics reconstruction techniques: clusterisation, tracking, primary and secondary vertex finding, lossless and lossy compression.
  • Development of application software: object-oriented design and development, parallel programming, algorithm development and optimisation.
  • Knowledge of programming techniques and languages: modern C++ (C++11,14,17), CUDA, OpenCL.
  • Knowledge and application of software life-cycle tools and procedures: git/github/gitlab; JIRA.

Behavioural competencies:

  • Achieving results: delivering high quality work on time and fulfilling expectations; defining clear objectives, milestones and deliverables before initiating work/ project; objectively assessing and monitoring own work; regularly reporting on progress and advising of any changes in schedule or priorities.
  • Solving problems: identifying, defining and assessing problems, taking action to address them; 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; adapting quickly and resourcefully to shifting priorities and requirements; actively participating in the implementation of new processes and technologies.

Language skills:

  • English: very good command in spoken and written
  • French: basic command or willingness to acquire the language

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 30.09.2019.

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-AIP-SDS-2019-93-LD

Benchmark Job Title: Computing Engineer

Please make sure you have all the documents needed to hand as you start your application, as once it is submitted, you will not be able to upload any documents or edit your application further

Company

Working at CERN

CERN is a truly unique organisation. A genuine collaboration between countries, universities and scientists, driven not by profit margins, but by a commitment to create and share knowledge.

People here are part of immense scientific discoveries, answering some of life’s most complex questions and pushing the boundaries of understanding. Experts from every field come here to share in this ambition and the nature of this collaborative, international community creates a genuine atmosphere of trust. People are free to work creatively and to trust in, and rely on, their colleagues across the organisation.

History’s being made here – and the excitement is tangible, inspiring, overwhelming at times. It is the only place in the world that you can do this work in this way.

CERN. Take part.

Why join us

"97.2% of CERN employees are proud to work for this organisation."

Professional member survey 2009, Université de Lyon

"Because at CERN you are an individual with ideas, personality and a voice. You share CERN's vision, but you do it with your own eyes!"

Engineer, General Services Department, 2012

Today CERN employs over 2500 people - if you visit us you will find over 2500 different reasons why CERN is a great place to work! Here are 6 key reasons we believe will make you love working here.

Purpose

CERN's people are driven by a shared goal, a single purpose. They want to achieve the impossible, to do what’s never been done before. Everyone here strives to be the best they can be, true specialists and industry "firsts" are created regularly – not just in the world of physics.

Challenge

Unravelling the mysteries of the universe: it’s a big task. And that’s one of the reasons that experts come to CERN – to test themselves, push their abilities and help create history with groundbreaking discoveries. But this is not just about physics. The engineering and technical skills needed to make the experiments succeed are as world-class as the science behind them. If you want to help answer the world’s toughest questions, this is the place to do it.

Integrity

This is a word that is included in the CERN values, but it’s something that can be claimed by any number of organisations, so what does it actually mean here? Respect isn’t handed out automatically at CERN – it’s earned. But, because of the nature of the work, people act with integrity. People are driven by scientific discovery. Their motivations are pure. They trust and are trusted.

Collaboration

CERN is an employer, a university and a state: a whole community working towards a shared goal – scientific discovery. This creates a collaborative world. Seniors work with graduates. Physicists need engineers. Countries forget politics and collaborate to achieve. And knowledge – CERN’s main commodity – is shared throughout CERN, its member states and the rest of the world.

Imagination

This is work without boundaries. People here are realising the impossible. Pushing what is known and accepted with the courage to ask, “what if?” They have the freedom to think differently, to imagine, and to find improbable solutions to problems that have never been asked before. They are free to take chances, to challenge ideas and to enjoy unrestrictive working practices.

Quality of life

Of course, there’s one final element that helps to make CERN what it is today. People here enjoy living a truly cosmopolitan life, in the heart of Europe. The environment offers a myriad of leisure activities, both on Lake Geneva and the surrounding mountains. With excellent benefits, great remuneration and the freedom to work flexibly, it’s not just the work and atmosphere that makes people enjoy their jobs, it’s the tangible elements that they receive too.

Company info
Location
THE EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH
385 ROUTE DE MEYRIN
MEYRIN
1217
CH

Get job alerts

Create a job alert and receive personalised job recommendations straight to your inbox.

Create alert