EPEEC: European Programming Environment for Heterogeneous Supercomputers

EU-Project – European Joint Effort towards a Highly Productive Programming Environment for Heterogeneous Exascale Computing

The common goal in the EU project EPEEC is the development and deployment of a production-ready parallel programming environment that turns predominantly heterogeneous exascale computers into manageable platforms for application developers. Our part is the implementation of the distributed programming model GASPI together with its GPI implementation.


The High Performance Community is working to manage the heterogeneity of future exascale computers. To do so, different processing unit architectures (such as GPUs and FPGAs) as well as heterogeneous storage systems and networks have to be considered. The EPEEC project meets this challenge by bringing together five software components developed by European research institutions and companies, adapting them to the respective programming environment and further elaborating them. 

One of these five is the programming model GASPI developed at our institute, which has established itself as the European market leader for one-way communication between computing nodes.

Our Contribution to the Project

Especially in applications such as machine learning, compression is an important tool for processing the sometimes huge amounts of data. With the help of our parallel programming model GPI we use the so-called »Lossy Compression« to relieve networks. Examples of data-intensive tasks are the development of new drugs or the further development of Recommender System, which makes recommendations based on previous user activities (purchases, watched movies, etc.).

We also use our expertise in machine learning to weigh up the advantages and disadvantages of the eventually consistency method. This principle from GRID computing involves compromises in the consistency of the response in order to avoid delays. Simply put: A response is output very quickly, but it is only roughly correct at the beginning and is improved later. This technique can only be used in high performance computing if convergence in iterative procedures is certainly not jeopardized. We are examining whether the advantages (e.g. in terms of the speed of the algorithm) can outweigh the disadvantages (a slower convergence).

GASPI as Part of the Programming Model


In the project we integrate our development GASPI/GPI and the task-based programming model OmpSs of the Barcelona Supercomputing Center into a common scalable integrated and distributed programming model. This model uses both a distributed (GASPI/GPI+OmpSs) and a shared memory model (OmpSs@ArgoDSM). This allows the users to actively control and activate data transfers. We are convinced that this approach leads to excellent scaling properties and we are reviewing the approach with our application partners within the EPEEC project.

Unser skalierbares integriertes und verteiltes Programmiermodel in EPEEC
© Fraunhofer ITWM
Unser skalierbares integriertes und verteiltes Programmiermodel nutzt einerseits wiederum ein verteiltes Programmiermodel (GASPI/GPI+OmpSs) und andererseits ein shared-memory Programmiermodell (OmpSs@ArgoDSM).

Video: What Impact Can EPEEC Have on Our Daily Lives?

Video of the project partner BSC-CNS (Barcelona Supercomputing Center from Spain)

Privacy warning

With the click on the play button an external video from www.youtube.com is loaded and started. Your data is possible transferred and stored to third party. Do not start the video if you disagree. Find more about the youtube privacy statement under the following link: https://policies.google.com/privacy