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.