Skip to main content

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

Supported by Durham’s Department of Computer Science, DiRAC and ExCALIBUR’s H&ES programme

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:00A brief revision of performance modelsTobias WeinzierlVirtual (optional)
Thursday
27 April 2023
9:00-12:00t.b.c. Hybrid MCS3097 (Computer Science building)
13:00-15:00Hands-on: Participants apply … to their codes Participants Hybrid Visualisation lab (Computer Science building)
Tuesday
2 May 2023
16:00-18:00A brief revision of core architecturest.b.c.Virtual (optional)
Thursday
4 May 2023
9:00-12:00MAQAO – an introduction with interactive exercisesCedric Valensi Hybrid MCS3097 (Computer Science building)
13:00-15:00 Hands-on: Participants apply MAQAO to their codesParticipantsHybrid Visualisation lab (Computer Science building)
Tuesday
9 May 2023
16:00-17:00A brief revision of MPITobias WeinzierlVirtual (optional)
Thursday
11 May 2023
9:00-12:00Scalasca – an introduction with interactive exercises Brian Wylie Hybrid Visualisation lab (Computer Science building)
13:00-15:00Hands-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: