Hybrid parallel programming with tasks
30 January 2022
This technical report by EPCC's Mark Bull and former EPCC MSc in HPC student Jiehong Yu gives an introduction to using a hybrid parallel programming model that combines MPI with OmpSs or OpenMP dependent tasks.
This model allows both computation and communication to be expressed using a coarse-grained dataflow approach, which helps to remove most of the unnecessary ordering constraints and intranode synchronisation imposed by the more conventional approach of MPI with OpenMP parallel loops.
The report describes the model, and how it is supported by an augmented MPI library which interoperates with the tasking runtimes. It also assesses some of the advantages and disadvantages of this style of parallel programming.
It concludes that this hybrid programming model offers some interesting possibilities to overcome performance problems which result from the unnecessary synchronisation and ordering constraints imposed by the most commonly used hybrid model in HPC (MPI + OpenMP loops). However, using the model is not without its difficulties.
Read the report "Hybrid parallel programming with tasks".
This report was produced as part of the EuroCC programme of National Competence Centres (NCCs) established across 33 European countries. EuroCC@UK is the UK’s National Competence Centre in High Performance Computing (HPC), High Performance Data Analytics (HPDA), and Artificial Intelligence (AI). It is jointly co-ordinated by EPCC and the Hartree Centre.
https://www.eurocc-project.eu