A Framework for an Automatic Hybrid MPI+OpenMP code generation
Khaled Hamidouche, Joël Falcou, Daniel Etiemble · 2014
Clusters of symmetric multiprocessors (SMPs) are the most currently used architecture for large scale applications and combining MPI and OpenMP models is regarded as a suit-able programming model for such architectures. But writing efficient MPI+OpenMP programs requires expertise and per-formance analysis to determine the best number of processes and threads for the optimal execution for a given application on a given platform. To solve these problems, we propose a framework for the development of hybrid MPI+OpenMP programs. This paper provides the following contributions: (i) A compiler analyser that estimates the computing time of a sequential function. (ii) A code generator tool for generating hybrid code based on the compiler analyser and a simple analytical parallel per-formance prediction model to estimate the execution time of an hybrid program. (iii) An evaluation of the accuracy of the framework and its usability on several benchmarks. 1.