New Partitioning Algorithms for Supercomputers

How can we distribute complex problems on supercomputers that contain many CPU cores and GPUs ? This thesis looks at improving the software that decomposes problems for such parallel heterogeneous systems.

The largest problems in science and engineering require huge parallel systems commonly known as supercomputers. Such systems can consist of ten thousand ordinary computers called nodes, connected by extremely fast networks. For many problem, using such machines requires breaking up the input in
smaller pieces for the individual nodes. Doing so in an optimal manner is often required for unlocking the full potential of the parallel computer. Existing software such as METIS or PaToH no longer matches modern supercomputers that have nodes containing many cores and multiple GPUs. Thus, the goal of this thesis is to adapt partitioning software to work on the latest parallel systems.


The goal of the thesis is to develop partitioning algorithms and test them on parallel systems such as the FRAM supercomputer in Tromsø.

Learning outcome

In addition to the core topic, the student will learn how to use supercomputers via MPI, as well as existing partitioning software.


This topic requires solid knowledge of C/C++. Familiarity with parallel programming using MPI and CUDA, as well as graph partitioning is helpful but not required.


  • Xing Cai
  • Johannes Langguth

Contact person