Paper #22

Paper #22

Analyzing the Efficiency of Hybrid Codes

Judit Gimenez1, Estanislao Mercadal2, German Llort2, Sandra Mendez2
1Barcelona Supercomputing Center – Universitat Politècnica de Catalunya
2Barcelona Supercomputing Center
{judit,lau.mercadal,german.llort, sandra.mendez} @ bsc es

Abstract: 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.

Keywords: Efficiency model, Hybrid parallelization, Scalability efficiency, Performance analysis