/Programming Models Researcher for high performance computing

Programming Models Researcher for high performance computing

Research & development - Leuven | More than two weeks ago

Passionate about developing programming models for next-generation software on next-generation hardware? Love to work in a talented team of software engineers working closely with hardware designers on multi-disciplinary problems? We’ve got you covered!

Programming Models Researcher for high performance computing

What you will do

You drive the research on programming models for high performance computing systems that are developed in tandem with software prototypes for next-generation large-scale high-performance computing systems in imec’s CSA unit.

The Compute System Architecture (CSA) R&D unit at imec leads research into futuristic high-performance and highly secure RISC-V CPUs to extend imec’s technology research leadership into the next decade. System Architecture innovations are key to position imec for success in fast evolving workloads of tomorrow. This unit is responsible for the architecture definition of new CPU and accelerator capabilities, analyzing emerging usage models, and building hardware and software prototypes for data-driven computing hardware capable of exa-scale performance. 

Within CSA you join a team with a strong pedigree in algorithms and applications that require high-performance computing for genomics, population modeling, large-scale clustering, and privacy-preserving distributed and federated machine learning. We have, and continue to develop, extensive experience with high performance computing technologies (distributed computing, parallel computing, concurrent computing, vectorization, NUMA optimizations), programming languages (Go, C++, D, Python, Lua, Rust, and many more), and usage of hardware accelerators (GPU, FPGA, TPU, …). 

Since the software, runtime environment and hardware are designed collaboratively, you closely interact with other CSA researchers to define what is part of the application, the runtime environment, and the hardware, opening up unprecedented opportunities for performance and scaling.

What we do for you

We offer you the opportunity to join one of the world’s premier research centers in nanotechnology at its headquarters in Leuven, Belgium. With your talent, passion and expertise, you’ll become part of a team that makes the impossible possible. Together, we shape the technology that will determine the society of tomorrow.

We are committed to being an inclusive employer and proud of our open, multicultural, and informal working environment with ample possibilities to take initiative and show responsibility. We commit to supporting and guiding you in this process; not only with words but also with tangible actions. Through imec.academy, 'our corporate university', we actively invest in your development to further your technical and personal growth. 

We are aware that your valuable contribution makes imec a top player in its field. Your energy and commitment are therefore appreciated by means of a market appropriate salary with many fringe benefits. 

Who you are


  • Master’s or Doctoral degree preferably in Computer Science, (Applied) Mathematics or Engineering disciplines
  • Deep knowledge and expertise in programming models, languages and paradigms for shared memory systems (threading models, eg, OpenMP, Oomps) and distributed systems (message passing models, actors models, eg. MPI, PGAS, GASPI, GPI, X10, Chapel)
  • Familiarity with accelerators and heterogeneous computing (CUDA, OneAPI, …)
  • Familiarity with the main programming concepts used in libraries such as TensorFlow and PyTorch
  • Hands-on and concise in your approach, you enjoy a strong focus on problem solving
  • You quickly embrace new technological paradigms (languages, libraries, technologies, …)
  • You love to take on challenges and are highly result-driven.
  • You deeply care about customer satisfaction and quality of the delivered results.
  • You are a strong team player and a good communicator. Sharing the progress of tasks, seeking feedback from your colleagues and acting as a soundboard, is important to you.

Nice to have:

  • Knowledge of hardware architectures and platforms
  • Experience in data science (machine learning, AI, statistics) or HPC (large-scale simulations) workloads
  • Experience or domain knowledge in the life sciences domain 
  • Experience with FPGA platforms, e.g. Xilinx tools or digital design, e.g. VHDL/Verilog