BSC coordinated project EPEEC releases Programming Guidelines for Parallel Applications

16 June 2020

The European project EPEEC (European joint Effort toward a Highly Productive Programming Environment for Heterogeneous Exascale Computing), coordinated by BSC, has reached an important milestone with the publication of its 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 BSC.

EPEEC works towards a highly productive programming environment for heterogeneous exascale computing. These guidelines contribute to the project goals by establishing a clear path to get application codes suited for parallelization and exploitation of heterogeneous resources.

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.

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, 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).

  • Caption: EPEEC’s methodological framework for parallelization


  This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the grant agreement No 801051.