These recommendations are relevant to application developers interested in high productivity, as they are aimed at facilitating the compilers' work and improving the applications' performance in terms of execution time. These are compatible with state-of-the-art profiling methodology and tools, such as those defined and leveraged in the POP-2 project.
"The EPEEC guidelines will allow to increase the programmer's productivity while developing modern applications", stated Antonio J. Peña, Coordinator of EPEEC and Lead of the Accelerators and Communications for HPC Team at Barcelona Supercomputing Center (BSC).
The EPEEC guidelines contribute to the project goals by establishing a clear path to get application codes suited for parallelization and exploitation of heterogeneous resources. Additionally, the guidelines are backed up on the Appentra Parallelware Analyzer tool, which analyzes the application code and provides recommendations and opportunities to the programme developers.
The document presents a high-productivity approach for the development of high-performance applications based on parallel programming best practices used by expert developers in the High Performance Computing (HPC) community. It introduces the EPEEC methodological framework, which splits the parallelization process into three steps:
1. Prepare the code for parallelism: to code the application in such a way that reduces the cost/effort of parallel software development and maintenance.
2. Create a first parallel version of your code: to develop a parallel version of existing sequential code that runs faster.
3. Optimize your parallel code: to fine-tune the parallel code to obtain peak performance of the target hardware platform.
In addition to high-productivity and the development of a high-performance programming environment, EPEEC's goals include the efficient and energy-aware management of hardware heterogeneity, both in terms of processing elements and memory subsystems, further favouring coding productivity.
The EPEEC Programming Guidelines for Parallel Applications are available on the project's website.
The EPEEC project - European joint Effort toward a Highly Productive Programming Environment for Heterogeneous Exascale Computing - is funded by the European Commission with a budget of over 3,9 million euro, and will last three years from its beginning on 1 October 2018.
The consortium is composed of Barcelona Supercomputing Center in Spain, Fraunhofer Gesellschaft zur Foerderung der angewandten Forschung e.v. in Germany, Instituto de Engenhariade Sistemas e Computadores, Investigação e Desenvolvimento em Lisboa in Portugal, Institut National de Recherche en Informatique et Automatique in France, Appentra Solutions S.L. in Spain, CINECA consorzio interuniversitario in Italy, Eta Scale AB in Sweden, Centre Européen de Recherche et de Formation Avancée en Calcul Scientifique in France, imec in Belgium, and Uppsala Universitet in Sweden.