This Website is not fully compatible with Internet Explorer.
For a more complete and secure browsing experience please consider using Microsoft Edge, Firefox, or Chrome

Parallel Engineering Codes: Performance Optimisation with POP Methodology

This presentation was held at the 2020 NAFEMS UK Conference "Inspiring Innovation through Engineering Simulation". The conference covered topics ranging from traditional FEA and CFD, to new and emerging areas including artificial intelligence, machine learning and EDA.



Resource Abstract

Parallel computing is an essential tool for engineering analysis and simulation codes, whether they run on desktops with a few computing cores, use accelerator hardware such as GPUs, or run on in-house clusters or HPC facilities. Improving the efficiency of engineering software running on these facilities either speeds up time to solution or allows for larger, more challenging problems to be solved. Parallel Performance optimization is, however, a complex task and it often becomes a daunting challenge. Here is where the Performance Optimisation and Productivity (POP) Centre of Excellence comes into play.

POP, funded by the EU under the Horizon 2020 Research and Innovation Programme, puts the world-class HPC expertise of eight commercial and academic partners together. Our remit is to improve the performance of both academic and commercial parallel codes. Working with developers and users we promote a methodology for understanding a code's performance which helps us go on to improve it.

In this talk, we will present the importance of code analysis and the POP systematic approach to performance assessment and optimization. Measuring application performance often results in large amounts of data that is difficult to handle or interpret beyond some simple first observations. Our experience shows that there is often a lack of a quantitative understanding of the actual behaviour of parallel applications. POP methodology is based on a set of hierarchical metrics. These metrics provide a standard, objective way to characterise different aspects of the performance of parallel codes, each metric reflecting a common cause of inefficiency. This methodology provides the knowledge necessary to decide the best course of action to get performance via reproducible and comparable measurements of the performance.

In the first phase of POP we investigated thirty-four codes used by commercial organisations and achieved an average performance improvement over the whole application of 2.25, i.e. on average we more than halved the time to solution. As well as reducing run-times, greater efficiency can also lead to reduced power consumption or cloud computing costs.

POP provides performance optimisation and productivity services for codes in all domain. POP has the tools and expertise to analyse all aspects of performance from single processor efficiency to the scalability of large parallel codes. We work with programs written in most languages and parallel paradigms, including MPI, OpenMP, CUDA, OpenCL and OpenACC. We will review examples of performance assessment for engineering codes and improvements made so far. We will highlight some of the open source profiling tools used within the project and give details as to how the POP service can be utilized.

Document Details

ReferenceC_Nov_20_UK_31b
AuthorHosseini. F
LanguageEnglish
TypePresentation
Date 11th October 2020
OrganisationNumerical Algorithms Group
RegionUK

Download


Back to Previous Page