Systematic performance analysis is a key activity in modern HPC code development. It shifts us from trial-and-error approaches toward an engineering-like process for delivering fast code. Skills to conduct performance analysis are essential for every modern HPC research software developer. Performance analysis is challenging: We must not only understand and utilise sophisticated analysis tools but also follow a systematic workflow. In this workshop series, we will introduce key tools for analysing HPC code performance, but our primary focus will be on the workflow behind performance analysis:
This workshop will equip participants with an understanding of performance analysis methodology based on the state-of-the-art in the field, along with practical skills in using analysis tools. Throughout the series, participants will collaborate on a joint report documenting findings for the broader community.
The workshop series will be split into 3 different types of session:
2. virtual ‘topic’ days
3. in-person review and wrap-up days
Kick-off workshop in Durham (in person, 1st May – 2nd May)
With a focus on performance analysis methodologies, we want to begin with a 1.5 day event where attendees can:
We plan to start at 10:00 am on the first day and wrap up around 13:00 on the second day. The workshop will take place in MHL223 at the Durham Business School. (https://maps.app.goo.gl/9hRfWXLGHJryD8Ks7).
Virtual topic-specific workshops
Our half-day virtual workshops will each focus on a different topic relating to performance bottlenecks. The sessions will be interactive, and highly-attendee driven with a focus on discussing three questions:
2. How would you investigate this performance issue? Try to suggest a methodology
3.Critique your methodology. We can supply some information from pre-existing methodologies to review and contrast with your own
The individual performance topics will be:
Each session will start around 10:00 and finish around 13:00. The sessions will be organised through MS Teams. A project Slack will be available in-between the sessions.
Wrap-up workshop in Durham (in person 20th – 21st May)
By the end of the workshop series, we will have collated responses and resources created during the half-day virtual sessions. These responses will go into building a rigorous performance analysis methodology. To address these ideas, some performance analysis tool developers will be invited to describe their toolsets and how they may fit into different aspects of this methodology.
The workshop will take place in MHL453 on the first day and MHL223 on the second (half) day.
Requirements
Participants should have a good knowledge of key HPC technologies. This means at least one compiled language (C++ or Fortran preferred), MPI and a multithreading technology (e.g. OpenMP). Knowledge of GPU programming is advantageous. No previous experience with performance analysis tools is required. Candidates should commit to participate in all sessions, i.e., to build a cohort, dropping in and out is problematic. We would appreciate it if candidates could bring along one code that they plan to analyse throughout the workshop series with different tools and methodologies. However, we will also encourage participants to team up and investigate codes unknown to them, i.e. there will be plenty of case studies on the table.
Organisation
Registration: Please register here
Deadline: 18 April 2025
Please note that we will fill places FCFS and might close the registration ahead of time. Participants are expected to arrange their travel and accommodation themselves. However, limited support funds are available for participants upon request. For questions re travel grants and any other enquiries please contact idas.admin@durham.ac.uk