Performance Comparison and Regression for XDEM Multi-Physics Application

Performance Comparison and Regression for XDEM Multi-Physics Application
High-level performance metrics are collected during the execution of an XDEM simulations and can be leveraged to compare performances and detect performance regressions due to changes in the code.

Project reference: 2220

XDEM is a multi-physics framework for the simulation of granular material (Discrete Element Method) coupled with a fluid (Computational Fluid Dynamics) and running on High Performance Computing platforms. The XDEM software is in continuous development and requires frequent assessment of the performance to track and evaluate the impact of the code changes on the performance of the simulation.

With this project, we aim to develop a set of tools to simplify the performance comparison of independent executions and the detection of performance regression. The analysis will rely on the high-level performance metrics (available in XDEM) that describe the time spent in the different parts of the code (corresponding to the different phases and physics modules).  The performance comparison tool will be designed to highlight, with graphic plots and simple analysis, the parts of code that are the most impacted by changes.

Different types of performance comparisons could be considered:

– between different versions of the software → detection of performance regression;
– between different levels of parallelization → strong scalability analysis;
– between different problem sizes → code complexity characterization;
– between different problem sizes and levels of parallelization → weak scalability analysis;
– and more generally between any varying parameters.

A second part of the project is to implement a set of scripts to run selected XDEM simulations on the HPC platform of the University of Luxembourg  and automatize the detection of performance regressions using the analysis tools developed previously.

High-level performance metrics are collected during the execution of an XDEM simulations and can be leveraged to compare performances and detect performance regressions due to changes in the code.

Biomass furnace simulation with XDEM

Project Mentor: Dr. Xavier Besseron

Project Co-mentor: Dr. Sébastien Varrette and Dr. Emmanuel Kieffer

Site Co-ordinator: Dr. Ezhilmathi Krishnasamy

Learning Outcomes:
– Simply performance analysis of an HPC application (comparison, weak and strong scalability, etc.)
– Execution and automatization of jobs on an HPC cluster

 Student Prerequisites (compulsory):
– Linux environment and shell scripting (bash)
– Performance analysis for parallel applications (e.g. strong/weak scalability)

Student Prerequisites (desirable):
– Data processing and plotting (ideally with R, tidyverse and ggplot2)
– Job schedulers and resource managers for HPC clusters (ideally SLURM)

Training Materials:

– Presentation of XDEM https://luxdem.uni.lu/software/index.html
– Data analysis with R tidyverse https://r4ds.had.co.nz/introduction.html
– Data visualization with ggplot2 https://ggplot2-book.org/introduction.html
– Using Uni.lu HPC platform https://ulhpc-tutorials.readthedocs.io/en/latest/

Workplan:

W1: Training week
W2: Performance dataset examples, introduction to Uni.lu HPC platform
W3-4: Performance analysis with dataset examples
W5-6: Script for performance regression on Uni.lu HPC  platform
W8: Report

Final Product Description:
– Set of R scripts for comparative analysis of XDEM performance
– Set of bash scripts of the automatic performance regression analysis of XDEM on the HPC cluster of the University of Luxembourg

Adapting the Project: Increasing the Difficulty:
– More complex performance analysis, including more type comparisons
– Performance comparison with more than two versions of the code

Adapting the Project: Decreasing the Difficulty:
– Reduce the number of performance analysis (e.g. only the comparison between versions)
– Skip the script for execution on the HPC platform

Resources:
– Example performance dataset → provided by the mentor
– Access to Uni.lu HPC platform → provided via the site coordinator
– Acess to XDEM source code → provided by the mentor

Organisation:
ULux-University of Luxembourg

Tagged with: , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.