Skip to main content

Enhancing Programmability and boosting Performance Portability for Exascale Computing Systems

Periodic Reporting for period 2 - EXA2PRO (Enhancing Programmability and boosting Performance Portability for Exascale Computing Systems)

Reporting period: 2019-11-01 to 2021-07-31

Advancing scientific progress in domains such as physics, energy and material science by developing and deploying applications in computing clusters of hundreds of thousand CPU cores is exciting, yet very challenging. The European Commission-funded project EXA2PRO – Enhancing Programmability and boosting Performance Portability for Exascale Computing Systems - designs and develops a framework for enabling the efficient deployment of applications in supercomputing systems.

EXA2PRO project is developing programming models and tools in a co-design activity together with relevant applications from the high energy physics, material science, chemical processes for cleaner environment and energy storage domains. The EXA2PRO goal is to increase the productivity of developing and deploying applications on heterogeneous computing systems and to promote and lower the barrier of access to exascale computing systems to the scientific community and industry.

EXA2PRO outcomes have major impact on:
1. the scientific and industrial community that focuses on application deployment in supercomputing centres: The EXA2PRO framework improves productivity. After applying the EXA2PRO API in applications, evaluation across a variety of architectures is performed automatically.
2. application developers that target exascale computing systems: EXA2PRO provides tools for improving source code maintainability/reusability, which will allow application evolution with reduced developers’ effort.
3. the scientific community and the industry relevant to the EXA2PRO applications, with significant impact on the materials and processes design for CO2 capture and on the supercapacitors industry.
In the first project period, all necessary actions were taken for developing the underpinning theoretical concepts and scientific pillars, on which the envisaged EXA2PRO framework is built.
In particular, the project delivered initial and detailed requirements for both the programming environment and the EXA2PRO applications. The high-level EXA2PRO API was defined and reported, along with detailed guidelines for EXA2PRO users. The initial specification of the composition framework and the selection of suitable tools was also completed. The project delivered first results from EXA2PRO modules in EXA2PRO applications and benchmarks. The EXA2PRO runtime system was extended with performance modeling and steering techniques and first experiments concerning cluster-level fault tolerance techniques were conducted. The project defined the testing and verification strategy. A significant achievement was the development of the first framework prototype. A detailed plan on the exploitation of the EXA2PRO framework by each application and reference implementations for each one were delivered.

During the second period, integration, verification and testing efforts were intensified. EXA2PRO was made available through various technologies (docker, singularity) to address different application developers' needs. Additionally, the EXA2PRO was applied to application and benchmarks. Some recent success stories are the following:

• The EXA2PRO tools have been used to advance CO2 capture technologies, by enabling the generation of CO2 capture solutions 41% faster.
• The performance of a supercapacitor simulation code (MetalWalls) improved by 33% by applying the EXA2PRO runtime system.
• Initial results of porting the supercapacitor simulation code on a dataflow engine accelerator, showed significant performance and energy gains.
• The EXA2PRO programming model has been applied to a multi-node neural simulation code, greatly improving its scalability.

Various dissemination activities took place during the first project period, including 26 publications (18 in conferences and 8 journal articles, including DAC, IEEE TPDS, IEEE Access), 4 press releases (HiPEACInfo, HPCWire, etc.), 3 EXA2PRO tutorials (in HLPP, MCC, PPoPP), 2 workshops (co-)organized by EXA2PRO consortium (PROHEXA and EoCoE-EXA2PRO joint workshop), 9 poster presentations and 37 speeches, keynotes and booths (ISC, PASC, FTXS, SCOPES, etc.)
EXA2PRO envisages a programming environment that comprises a clear step beyond state-of-the-art, by providing novel concepts and approaches for high-level parallel programming in HPC and enabling the evolution of well-established HPC tools towards exascale computing.
Specific innovations that have been produced, based on the original publications of the project up to now, include methods for skeleton programming in heterogeneous computing, applicable to CPU/GPU and DFE, novel techniques for technical debt forecasting and new approaches to fault tolerance support for task-based programming models and multi-criteria scheduling.
Also, the project has significant impact on domains related to the EXA2PRO applications. More specifically, the project enables economically viable CO2 capture solutions for the European industry with reduced time-to-market of new products and processes and environmental friendly transportation with the design of more efficient supercapacitors. Particularity, more effective simulations allow to test new concepts of energy storage, such as pseudo-capacitors or redox supercapacitors. Thus, EXA2PRO contributes to reaching the goals of Paris agreement for climate change. Finally, it enables better understanding of human neuron networks and contribute in effective diagnosis and therapy support (e.g. epilepsy)
SIAMCSE 2019 conference
PRES'19 conference
SAMOS 2018 conference
Kick-off meeting