Periodic Reporting for period 2 - MEEP (The MareNostrum Experimental Exascale Platform)
Período documentado: 2021-07-01 hasta 2023-06-30
By experimenting with RISC-V-based hardware designs through FPGA emulation, it is possible to fine-tune the right architectures before committing to silicon. MEEP provides a pre-silicon validation platform for designs to insure proper functionality and scaled performance. In addition, the emulation platform will also allow us to test all the layers of the full stack, from software applications to hardware. MEEP is will make its Open Source IPs available for academic purposes and HPC application, thus contributing to improving quality of life, advancing science, boosting industrial competitiveness and ensuring Europe’s technological autonomy. As for the exascale feature, MEEP can be used to demonstrate the computation capabilities that will enable the ability to answer some of the world’s toughest and most important questions in many scientific and engineering fields.
The project’s ambition is to play two important roles within the Exascale computation paradigm:
1. Become an evaluation platform of pre-silicon IP and ideas, capable of balancing speed and scalability by providing foundational FPGA IP that facilitate rapid prototyping and a large number of FPGAs to provide the scalability.
2. Become a software development and experimentation platform to enable software readiness for new hardware designs. MEEP will accelerate software maturity, compared to the limitations of software simulation approaches, since IPs will be tested and validated before moving to silicon, considering a realistic componentization characterization and running them under their targeted execution contexts; which means saving time and money.
We have developed a benchmarking methodology, defining a set of metrics to capture the coverage and efficiency of the vector usage i n applications: average vector length, instruction mix, and arithmetic floating point operations per cycle.
All the software development has been focused on emulated environments, different vendor RISC-V platforms and the FPGA RISC-V based boards. The LLVM compiler infrastructure is used to generate code for the RISC-V vector extension and systolic custom instructions. The offload mode will be supported with the OpenMP "target spread" construct, which is currently being validated on a multiple GPU system. On the OS, we have defined the boot components and packages to be installed. We have selected Fedora as the base distribution and we have implemented an early networking mechanism based on tun-on-mmap. We have also built and run OS base container images under Debian and Fedora.
FPGA-based Emulated Platform: a) all the different MEEP Shell IP components have been developed and demonstrated in working demo designs, which validates the chosen roadmap for each of them, leaving for the second half of the project to fine-tune, and finalizing the full integration of them into the MEEP Shell concept. Different approaches to a fully automated FPGA design generation process have been explored and implemented, paving the way to a strong open source FPGA flow that can get reflected in an effortless way to use a CI/CD flow or the creation of new interesting FPGA tools that can be useful for the community. b) regarding the implementation of an emulated accelerator, two simplified versions of different ACME components have been already ported to the platform: 1) the VAS Tile core, and 2) the VAS Tile (a multi core system with 4 cores). First experiments have been done involving only one FPGA, and following the track of booting the OS capabilities.
MEEP targeted Accelerator: From the targeted accelerator design, a first version of the VAS Tile core component has been released, which integrates a scalar core connected to a VPU through an OVI interface. In parallel to this, and moving towards having a matrix of VAS Tiles in the near future, there is progress on the integration of a many-core system with a shared L2 data cache in place, by using the same core as the one used in the VAS Tile core.
The results of the project were disseminated in scientific papers, and events. Press releases were launched and technical news pieces were published on the website, resulting in 54 press clippings and over 16.969 page views. Demo videos were produced to present a description and usage of different hardware and software components developed in the project.
With respect to facilitating SMEs competitiveness, the MEEP ecosystem enabled the use of cost-effective low-energy distributed computing solutions that provide a substantial percent reduction in the Total Cost of Ownership (TCO), i.e. the cost to buy, own, operate, and manage; when compared to the systems currently on the market. The SMEs highly benefited from the reduction of such costs. In addition, open source software provides a low cost entry point for SMEs and startups, allowing them to lower the risk and increase the speed of European business innovations.
We target that MEEP outcomes (like the MEEP shell and ACME components) will reach a TRL of demonstrator moving closer to market, and some of them even became improved products or services offered open source to enrich the RISC-V ecosystem. With respect to the software stack, we expect to include a set of components (like the OS, compiler or containerization support) that will be adapted or ported to work on top of the RISC-V architecture.
The work carried out in MEEP is influencing a large number of European research projects, relevant standardization bodies and diverse academic programmes. Three upcoming European projects will continue the development of the results and/or will leverage IP coming from MEEP: eProcessor, EUPILOT and EPI SGA2.