19th POP Webinar - Identifying Performance Bottlenecks in Hybrid MPI + OpenMP Software

Wednesday, January 27, 2021

Long gone are the days when simple plots of parallel efficiency or parallel scaling were sufficient to understand performance issues in parallel software. It is widely accepted that analysing parallel performance is difficult, in part because of the complexity of modern parallel software, which often includes a mix of thread and process parallelism as well as GPU use, but also because of the complexity of the data generated by modern performance analysis tools. To address this challenge the POP project is developing a methodology to help code developers more easily analyse trace data, and gain meaningful insight into the sources of inefficiency.

This live seminar introduced this methodology based on the use of a small set of performance metrics, which can be generated easily from trace data, and which point at various specific code performance issues, such as process or thread load imbalance, MPI data transfer, various types of serialisation, and so on. The presenters described two complimentary sets of metrics which can be used to identify performance bottlenecks in hybrid MPI + OpenMP software.

Reference Material

About the Presenters

Judit Giménez has been the leader of the Performance Tools team in the Computer Sciences department at BSC since its creation. For the last 20 years she has been responsible for the research, development and distribution of the open source performance analysis tools around Paraver. The group is working on the design of tools to instrument, analyze and predict the behaviour of parallel applications on parallel systems. Since October 2015, she has actively participated in the POP Center of Excellence (EU H2020 project) that promotes Performance Optimization and Productivity, leading the work for the performance assessments.

Jonathan Boyle has many years’ experience of writing and analysing performance of HPC software, including use of MPI, OpenMP and CUDA. Most recently he has been working at NAG, contributing to the EU Centre of Excellence for Performance Optimisation and Productivity (POP). His contributions to POP focus on identifying performance issues in parallel code, refactoring code to improving parallel scaling for POP clients, and extending the POP metrics based performance analysis methodology.