MaX addresses the challenges of porting, scaling, and optimising material science application codes for the peta- and exascale platforms in order to deliver best code performance and improve users productivity on the upcoming architectures. We consolidate and develop the competences and the services to enable materials science application workflows to exploit next generation systems toward exascale.
GOAL: “Modernise” community codes and make them ready to exploit at best future exascale system for material science simulations.
CHALLENGE: No solution can fit all needs, and this is in common in all computational science domains.
STRATEGY: A pragmatic approach based on building a knowledge about exascale related problems and running proof of concepts to codesign and field test solutions, deriving best practices that can be consolidated in the official (publicly available) code releases.
OUTCOME: New code versions with development validated, libraries and module publicly available beyond MaX, extensive dissemination activities .
IMPACT: Modern codes, exploitation of today HPC systems, other applications fields as well as technology providers.
The co-design strategy of MaX has been developed around the following actions:
- Develop an exascale co-design methodology for MaX flagship codes.
- Implement co-design vehicles.
- Performs Proof of Concepts on specific and vertical solutions, to validate exascale technologies and paradigms.
- Develop a domain specific library to demonstrate the portability of performances across different accelerated technologies.
- Develop a performance model integrating both applications and architectures features.
- Energy awareness.
- Profile and measure performance improvements.
MaX codesign methodology was then build around a co-design cycle, including all other actions of the lists, and interactions with other projects/CoEs (e.g. POP) and subjects (e.g. hardware and software vendors) of the exascale ecosystem.
Remarkable results have been obtained with the co-design vehicle MaX actually develop: LAXlib and FFTXlib miniapps; those are becoming important tools to validate technology in MaX and well beyond MaX, since they are freely available and distributed to all other interested stakeholder of the many exascale efforts.
MaX run also a number of important proof of concepts, mostly based on co-design vehicles with different hardware and architectures.
Thanks to the implementation of the SIRIUS domain specific library MaX demonstrates the feasibility of performance portability across different accelerated technologies (e.g. NVIDIA GPU and Intel MIC processors).
An important outcome of the co-design action of MaX is the development of a time accurate performance model including both the details of the applications and of the target architecture. This allows developer and architects to evaluate the effect on performance of different architecture design (e.g. the number of core per node, the communication bandwidth), in different application scenarios (e.g. scale-up vs scale-out simulations).
Finally MaX co-design actions produced several tens of thousands of performance experiments and benchmarks to monitor the progress and effectiveness of MaX code exascaling effort.