BARCELONA, Spain, June 16, 2020 — The work towards a highly productive programming environment for heterogeneous exascale computing carried out by the European project EPEEC has reached an important milestone with the publication of the EPEEC Programming Guidelines for Parallel Applications.
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,” said 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 program 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:
- Prepare the code for parallelism: to code the application in such a way that reduces the cost/effort of parallel software development and maintenance.
- Create a first parallel version of your code: to develop a parallel version of existing sequential code that runs faster.
- 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 favoring coding productivity.
The EPEEC Programming Guidelines for Parallel Applications are available on the project’s website: https://epeec-project.eu/results/programming-guidelines
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, and will last three years from its beginning on 1 October 2018. The consortium is composed of Barcelona Supercomputing Center (Spain), Fraunhofer Gesellschaft zur Foerderung der angewandten Forschung e.v. (Germany), Instituto de Engenhariade Sistemas e Computadores, Investigação e Desenvolvimento em Lisboa (Portugal), Institut National de Recherche en Informatique et Automatique (France), Appentra Solutions S.L (Spain), CINECA consorzio interuniversitario (Italy), Eta Scale AB (Sweden), Centre Européen de Recherche et de Formation Avancée en Calcul Scientifique (France), imec (Belgium), Uppsala Universitet (Sweden).