Handbook of European HPC projects

EPEEC

European joint Effort toward a Highly Productive Programming Environment for Heterogeneous Exascale Computing (EPEEC)

EPEEC’s main goal is to develop and deploy a production-ready parallel programming environment that turns upcoming overwhelming-ly-heterogeneous exascale supercomputers into manageable platforms for domain application developers. The consortium has significantly advanced and integrated existing state-of-the-art components based on European technology (programming models, runtime systems, and tools) with key features enabling three overarching objectives: high cod-ing productivity, high performance, and energy awareness. 

An automatic generator of compiler directives provides outstanding coding productivity from the very beginning of the application developing/porting process. Developers are able to leverage either shared memory or distributed-shared memory programming flavours, and code in their preferred language: C, Fortran, or C++. EPEEC ensures the composability and interoperability of its programming models and runtimes, which incorporate specific features to handle data-intensive and extreme-data applications. Enhanced leading-edge performance tools offer integral profiling, performance prediction, and visualisation of traces. 

EPEEC exploits results from past FET projects that led to the cutting-edge software components it builds upon, and pursues influencing the most relevant parallel programming standardisation bodies. The consortium is composed of European institutions and individuals with the highest expertise in their field, including not only leading research centres and universities but also SME/start-up companies, all of them recognised as high-tech innovators worldwide. Adhering to the Work Programme’s guidelines, EPEEC features the participation of young and high-potential researchers, and includes careful dissemination, exploitation, and public engagement plans. 

APPLICATIONS 

Five applications representative of different relevant scientific domains serve as part of a strong inter-disciplinary co-design approach and as technology demonstrators: 

  • AVBP 
  • DIOGENeS 
  • OSIRIS 
  • Quantum ESPRESSO 
  • SMURFF 

PROGRAMMING ENVIRONMENT 

The EPEEC programming environment for exascale is developed to achieve high programming productivity, high execution efficiency and scalability, energy awareness, and smooth composability/interoperability. It is formed by five main components: 

  • Parallelware 
  • OmpSs 
  • GASPI 
  • ArgoDSM 
  • BSC performance tools (Extrae, Paraver, Dimemas) 

Software prototypes and releases are available for download on the EPEEC website. 

PROJECT’S CONTACT:

Antonio J. Pena

Transition to Exascale Computing

Call:
FETHPC-02-2017

Coordinating Organization:
BSC Barcelona Supercomputing Center, Spain

Project Timespan
2018-10-01 – 2022-03-31

Other Partners:
  • Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V., Germany
  • INESC ID – Intituto de Engenhariade Sistemas e Computadores – Investigacao e Desenvolvimento em Lisboa, Portugal
  • INRIA – Institut National de Recherche en Informatique et Automatique, France
  • Appentra Solutions SL, Spain
  • CINECA – Consorzio Interuniversitario, Italy
  • ETA SCALE AB, Sweden
  • CERFACS – Centre Européen de Recherche et de Formation Avancée en Calcul Scientifique, France
  • IMEC – Interuniversitair Micro-Electronica Centrum, Belgium
  • Uppsala University, Sweden