Performance Analysis Workshop Series 2023
Performance Analysis Workshop Series 2023
20 April – 18 May, 2023
Durham University, Department of Computer Science, Durham, UK, and online




With every new generation of computers, we observe that the gap between theoretical performance of a machine and performance that is actually delivered by applications widens. Codes struggle to exploit the machines. It therefore becomes compulsory for researchers and research software engineers in HPC to understand how well codes use the machinery and why they do so. Insight into performance behaviour can drive the code evolution and eventually become a seedcorn to facilitate future insight through computing.
This workshop series offers a tour-de-force through some selected open source tools that allow researchers to assess the behaviour of their code. The workshops are augmented with revision sessions of some core HPC know-how which often has never been taught directly to research software developers from non-computer science disciplines. Finally, the workshop encourages participants to bring along their own codes and to assess and improve these codes continuously throughout the series.
Programme

The workshop consists of different building blocks. The kick off and final session will be hybrid events. We encourage participants to attend in person where possible. The workshops in-between as well as all revision sections will be delivered in a hybrid/virtual format. Most sessions will be taught in the Department of Computer Science at Durham University.
Thursday 20 April 2023 |
9:00-12:00 | Principles of performance analysis and performance assessment | Brian Wylie | In-person preferred (with live broadcast) | MCS3097 (Computer Science building) |
13:00-14:00 | Hands-on: high-level performance assessment of user codes | Brian Wylie | In-person preferred (with live broadcast) | MCS3097 (Computer Science building) | |
15:00-16:30 | Pitches: What do participants expect from the course? | Participants | In-person preferred (with live broadcast) | MCS3097 (Computer Science building) | |
Tuesday 25 April 2023 | 16:00-17:00 | A brief revision of performance models | Tobias Weinzierl | Virtual (optional) | |
Thursday 27 April 2023 |
9:00-12:00 | t.b.c. | Hybrid | MCS3097 (Computer Science building) | |
13:00-15:00 | Hands-on: Participants apply … to their codes | Participants | Hybrid | Visualisation lab (Computer Science building) | |
Tuesday 2 May 2023 | 16:00-18:00 | A brief revision of core architectures | t.b.c. | Virtual (optional) | |
Thursday 4 May 2023 | 9:00-12:00 | MAQAO – an introduction with interactive exercises | Cedric Valensi | Hybrid | MCS3097 (Computer Science building) |
13:00-15:00 | Hands-on: Participants apply MAQAO to their codes | Participants | Hybrid | Visualisation lab (Computer Science building) | |
Tuesday 9 May 2023 | 16:00-17:00 | A brief revision of MPI | Tobias Weinzierl | Virtual (optional) | |
Thursday 11 May 2023 |
9:00-12:00 | Scalasca – an introduction with interactive exercises | Brian Wylie | Hybrid | Visualisation lab (Computer Science building) |
13:00-15:00 | Hands-on: Participants apply Scalasca to their codes | Participants | Hybrid | Visualisation lab (Computer Science building) | |
Thursday 18 May 2023 |
9:00-13:00 | Wrap-up: Participants present their lessons learned | Participants | In-person preferred (with live broadcast) This event will be organised in conjunction with the Durham HPC Days. |
Call for participants
The course is open to all researchers free of charge. We are searching for participants that
- bring along one research code to the tutorial which they want to optimise over the course of the workshop;
- commit to try to participate in all workshop sessions;
- join the workshops as a team. In the ideal case at least 2-3 participants sign up per team;
- have expertise with C or FORTRAN, MPI and some kind of multithreading;
- Sign up for access to DINE through the project do009.
We cannot provide support for accommodation and travel. Furthermore, we have limited spaces, i.e. registration is required.
Rationale
Our workshop aims to train the participants in performance tools. Instead of “flooding” the participants with pre-manufactured exercises out of the factory, we hope that each team not only gains skills but applies these skills immediately to their codes and gains insight.
Our workshop hopes to span the whole scale of scalability. We therefore want participants to participate in all sessions. This implies that we favour codes which feature MPI and multithreading already. If this is not the case, please apply, but our prime focus is on codes which already are able to exploit a supercomputer.
We do not cover GPUs at all. This will be covered by a different event or series if you are interested.
It is disappointing if you teach in front of an empty room. Therefore, we hope you can commit to attend all sessions. Furthermore, we prefer teams to participate, such that they can share insight, work together (which is way more fun) and it doesn’t hurt that much if one individual has to skip a session – the code will still be used with the tools discussed.
Registration
Please register before April 6 using this form: https://forms.gle/jEfFiu9QhkNCwbMF7 .
Accommodation and travel
There is no support for accommodation and travel, but we can point out that there are a few hotels nearby that guests of the department use frequently. Participants are expected to make all booking themselves:
- Hotel Indigo (15-20 min walk)
- Premier Inn (20-25 min walk)
- Marriott (15-20 min walk)
- Travelodge (25-30 min walk)