Applying optimisations specifically targeting the hardware is crucial to get performance for compute-intensive applications. However, it breaks performance portability, such that a user is faced with different optimised implementations of the same application. In this report, we present a procedure to manage optimised applications within containers to specifically address the goal of achieving performance on specific target hardware. This deliverable describes the full release of the application and infrastructure performance models for the static optimisations, ie. optimisations applied before the deployment of the application. In particular, it focuses on the progress of the work with respect to the first-year activity, as reported in the deliverable D3.3 [2]. Additionally, we update on the development of the SODALITE application optimiser called MODAK (Model Optimised Deployment of Applications in Containers), which was already introduced in the deliverable D4.2 [3]. A performance model for the parallel applications is also presented. This model is used within MODAK for predicting the optimal number of parallel processes when running an MPI parallel application for the best usage of the compute resources. Finally, we present results of the optimisations and handling of the optimised containers via MODAK for DL training and MPI-based applications taken from the SODALITE use cases.
For future activity up to the end of the project, we will further extend MODAK functionalities, for example, we plan to introduce an automatic mechanism for efficient data management. Furthermore, we will improve the integration of MODAK with the other SODALITE components. This activity will be reported in future deliverable D4.3.