07 April 2020

Co-design in Materials Science Towards Exascale



Within the MaX co-design activity, Quantum ESPRESSO, one of the MaX flagship codes, has been used as a demonstrator for cutting edge new HPC technology (ARM+NVIDIA GPUs). In fact, at SC19 in Denver, NVIDIA showcased Quantum ESPRESSO running "live" on an ARM TX2+V100 system, comparing "live" performance with the ARM TX2 host alone. The exhibition was supported by a stand-alone pod (in the NVIDIA booth) with an expert available all the time to run the demo with the many visitors (here is the twitter cover).

In his plenary speech, the CEO of NVIDIA showcased Quantum ESPRESSO as one of the few applications already ported to ARM+V100. This is the result also of the co-design activity carried out in MaX, that allowed us to play with TX2 since its availability in order to remove all the issues related to the ARM software stack. Results are shown in the Figure below.

In order to be among the first in running on ARM+NVIDIA architectures, MaX CoE first took advantage of the partnership with ARM to exploit the ARM simulator, and then we emulated the ARM processor and worked with NVIDIA at length. In this perspective, MaX is also ready to work on the outcomes of the EPI project, with the inclusion of accelerators. For this reason, the RIKEN and RIST centres in Japan have selected Quantum ESPRESSO as one of the codes used to evaluate the Japanese exascale initiatives, as well as a target application to support and optimise.

ASIDE: What is co-design in the MaX implementation?

Co-design is a crucial action of MaX as a whole. The cross-disciplinary teams in charge of co-design typically involve personnel from one or more HPC data centres in the MaX partnership, some developers of the MaX flagship codes, and engineers from software/hardware (SW/HW) manufacturers and providers, e.g. ARM (a partner of MaX), INTEL, NVIDIA, AMD, and engineers from HW integrators, in MaX case from the partner E4.

Co-design interactions are fundamental in order to achieve very relevant key-actions that proceed one after the other:

  • early access to cutting edge HW prototypes, or emulators, and their related SW toolchains;
  • attempting the porting of critical kernels from MaX codes, if not the whole codes themselves, and identifying bottlenecks;
  • reporting the identified bottlenecks together with needs and selected use cases to HW manufacturers;
  • some of the MaX codes are then identified by HW manufacturers (such as NVIDIA and AMD) or international institutions (e.g. DOE in the US, or RIKEN and RIST in Japan) as critical applications to be ported on their architectures.

 

Remarkable results have been obtained with the co-design vehicles that MaX actually developed: LAXlib and FFTXlib mini-apps. They are becoming important tools to validate the technology within MaX and well beyond MaX since they are freely available and distributed to all other interested stakeholders of the many exascale efforts. MaX also runs a number of important proof-of-concept projects, mostly based on co-design vehicles with different hardware and architectures.