Analyzing the Efficiency of Hybrid Codes

Hybrid parallelization may be the only path for most codes to use HPC systems on a very large scale. Even within a small scale, with an increasing number of cores per node, combining MPI with some shared memory thread-based library allows to reduce the application network requirements. Despite the b...

Full description

Saved in:
Bibliographic Details
Published in2020 19th International Symposium on Parallel and Distributed Computing (ISPDC) pp. 29 - 36
Main Authors Gimenez, Judit, Mercadal, Estanislao, Llort, German, Mendez, Sandra
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.07.2020
Subjects
Online AccessGet full text
DOI10.1109/ISPDC51135.2020.00014

Cover

More Information
Summary:Hybrid parallelization may be the only path for most codes to use HPC systems on a very large scale. Even within a small scale, with an increasing number of cores per node, combining MPI with some shared memory thread-based library allows to reduce the application network requirements. Despite the benefits of a hybrid approach, it is not easy to achieve an efficient hybrid execution. This is not only because of the added complexity of combining two different programming models, but also because in many cases the code was initially designed with just one level of parallelization and later extended to a hybrid mode. This paper presents our model to diagnose the efficiency of hybrid applications, distinguishing the contribution of each parallel programming paradigm. The flexibility of the proposed methodology allows us to use it for different paradigms and scenarios, like comparing the MPI+OpenMP and MPI+CUDA versions of the same code.
DOI:10.1109/ISPDC51135.2020.00014