Skip to main content
Ir a la página de inicio de la Comisión Europea (se abrirá en una nueva ventana)
español español
CORDIS - Resultados de investigaciones de la UE
CORDIS

Centre of Excellence in exascale-oriented application co-design and delivery for multiscale simulations

Periodic Reporting for period 1 - MultiXscale (Centre of Excellence in exascale-oriented application co-design and delivery for multiscale simulations)

Período documentado: 2023-01-01 hasta 2023-12-31

In the evolving landscape of scientific research, the emergence of exascale computing has opened new frontiers of possibilities. Exascale simulation holds immense scientific potential, promising groundbreaking insights across various domains. However, realizing this potential is no small feat. The technical challenges lie not only in the intricate hardware ecosystem but also in the need to develop applications capable of harnessing exascale capabilities effectively. The complexity of multiscale modelling stands out among the myriad challenges. It involves the computational study of structure formation and processes at mesoscopic length and time scales, aiming to capture details that relate to emergent material properties at macroscopic scales. This intricate process demands novel algorithms that seamlessly fuse methods, applications, and libraries simulating different scales, sometimes employing entirely different numerical approaches. Unfortunately, many multiscale methodologies are problem-specific, making it challenging for scientific groups to produce software that is easily accessible and usable by other researchers. The lack of human resources and skills often hinders the development of user-friendly applications on various computing platforms. While creating reusable code on familiar platforms demands significant effort, crafting versatile code for diverse compute platforms significantly heightens the technical challenge without a proportional scientific benefit. MultiXscale aims to address the challenges inherent in multiscale modelling, providing a set of complementary tools to facilitate the creation and adoption of state-of-the-art applications and workflows. By doing so, it not only seeks to enhance performance and productivity but also to ensure the portability of multiscale simulations across different platforms. The overarching objective of MultiXscale is encapsulated in the "Three P's": performance, productivity, and portability. It strives to achieve this by leveraging the scientific expertise of the CECAM network and the technical prowess of the EESSI collaboration.
During the reporting period, MultiXscale made significant strides in automating data collection for performance and scalability measurements of key software packages. As part of its ongoing activities, MultiXscale has consistently employed a testing framework, based on ReFrame, to conduct performance and scalability tests for production releases of essential applications. This testing suite is operational for selected applications on EuroHPC systems Karolina and Vega, forming an integral part of collaboration efforts with CASTIEL2 in Continuous Integration (CI). Efforts were also directed towards establishing a central stack of scientific software and their dependencies, representing a crucial advancement towards achieving measurable outcomes. This shared software stack, already deployed on EuroHPC JU systems Vega and Karolina by the end of the first reporting period, serves as the foundation for a CI infrastructure aimed at expediting application development. Notably, key software packages such as ALL, ESPResSo, LAMMPS, and OpenFOAM, along with their requisite dependencies, are already accessible in the production version of this shared software stack, with plans underway to incorporate additional packages like waLBerla. To enhance automation further, a GitHub Action was developed to utilize the shared software stack for automated testing of software under development via the GitHub platform. Discussions and planning are actively underway, in collaboration with CASTIEL2, to extend this shared software stack to other EuroHPC JU systems and to establish a comprehensive CI infrastructure for the broader EuroHPC ecosystem. Designed to be compatible with various Linux operating systems, the shared software stack is effectively streamed to client systems (and one could draw parallels with streaming media platforms). With the shared software stack already encompassing 500 different software installations for each supported CPU target by the end of the first reporting period, including vital packages pertinent to MultiXscale, comprehensive user-facing documentation has been provided. Additionally, a support policy and semi-automated workflow for adding software have been implemented, ensuring accessibility and ease of use for stakeholders. Initial support for software capable of running on NVIDIA GPUs has also been initiated, further broadening the capabilities of the shared software stack.
In the realm of advanced computing, the concept of "hardware co-design" involves establishing enduring partnerships with hardware vendors over a lengthy ten-year timeframe to optimize the integration of computer components. Conversely, "software eco-system and facility co-design" pertains to aligning computer programs with the environments in which they operate, such as laboratories or data centers. This form of collaboration has a shorter timeframe for noticeable impacts. MultiXscale and EESSI serves as a comprehensive solution for scientific software, catering to both end-users, primarily scientists and researchers, and hardware vendors. Ensuring seamless compatibility between the software eco-system employed by vendors and the EESSI is mutually advantageous. This collaboration facilitates activities such as benchmarking, ensuring optimal performance and efficiency. As the demand for EESSI support grows among users, it initiates a collaborative co-design effort between the facilities and EESSI. This joint undertaking aims to enhance the overall user experience, marking a collaborative endeavor where users receive improved software support, and facilities gain valuable insights to refine their operational framework.

The MultiXscale approach to scaling is like managing a complex set of tasks to make sure the computer system is used as efficiently as possible. The MultiXscale approach to scaling can be considered as a task graph using load-balancing techniques to ensure optimal system utilisation. Each node on the graph may have very different characteristics in terms of application code and hardware support and consume petascale levels of resources. The nodes may also be embedded in ensemble approaches. MultiXscale will also address the edges of the task graph, which are in effect the couplings that MultiXscale will implement. MultiXscale will promote and implement the use of frameworks that facilitate hardware portability to allow user to transition between the facilities of EuroHPC (including its accelerators). MultiXscale not only deals with managing the individual tasks but also focuses on making sure these connections work smoothly. It's like ensuring that all the parts of a system work well together.

MultiXscale EESSI aims to create a standardized and consistent scientific software environment. It collaborates closely with EuroHPC to extend this uniform environment beyond just EuroHPC resources. The goal is to make it accessible across different levels of the infrastructure, even reaching beyond EuroHPC to platforms like the European Open Science Cloud.
MultiXscale CoE provides efficient access to software developed in scientific work packages
Mi folleto 0 0