Skip to content

Draft schedule (subject to change)

Presenters, exact time and order of the talks may still change.

DAY 1 - Monday March 3, 2025
09:00 CET
10:00 EET
Welcome and Introduction
Presenters: Kurt Lust (LUST) and Jørn Dietze (LUST)
09:15 CET
10:15 EET
LUMI Architecture
Presenter: Emanuele Vitali (LUST)
Some insight in the hardware of LUMI is necessary to understand what LUMI can do and what it cannot do, and to understand how an application can be mapped upon the machine for optimal performance.
10:10 CET
11:10 EET
HPE Cray Programming Environment
Presenter: Kurt Lust (LUST)
As Linux itself is not a complete supercomputer operating system, many components that are essential for the proper functioning of a supercomputer are separate packages (such as the Slurm scheduler discussed on day 2) or part of programming environments. It is important to understand the consequences of this, even if all you want is to simply run a program.
11:15 CET
12:15 EET
Break and networking (20 minutes)
11:35 CET
12:35 EET
Getting Access to LUMI
Presenter: Kurt Lust (LUST)
We discuss the options to log on to LUMI and to transfer data.
12:05 CET
13:05 EET
Exercises (session #1)
12:30 CET
13:30 EET
Lunch break (60 minutesinutes)
13:30 CET
14:300 EET
Modules on LUMI
Presenter: Kurt Lust (LUST)
LUMI uses Lmod, but as Lmod can be configured in different ways, even an experienced Lmod user can learn from this presentation how we use modules on LUMI and how modules can be found.
14:15 CET
15:15 EET
Exercises (session #2)
14:45 CET
15:45 EET
Break and networking (20 minutes)
15:05 CET
16:05 EET
LUMI Software Stacks
Presenter: Kurt Lust (LUST)
In this presentation we discuss how application software is made available to users of LUMI. For users of smaller Tier-2 clusters with large support teams compared to the user base of the machine, the approach taken on LUMI may be a bit unusual...
16:05 CET
17:05 EET
Exercises (session #3)
16:30 CET
17:30 EET
LUMI Support and Documentation
Presenter: Jorik van Kemenade
Where can I find documentation or get training, and which support services are available for what problems? And how can I formulate a support ticket so that I can get a quick answer without much back-and-forth mailing?
16:55 CET
17:55 EET
Wrap-up of the day
17:00 CET
18:00 EET
Free Q&A
17:30 CET
18:30 EET
End of day 1
DAY 2 - Tuesday March 4, 2025
09:00 CET
10:00 EET
Short welcome, recap and plan for the day
Presenters: Kurt Lust
09:15 CET
10:15 EET
Slurm on LUMI
Presenter: Jorik van Kemenade
Slurm is the batch job scheduler used on LUMI. As no two Slurm configurations are identical, even an experienced Slurm user should have a quick look at the notes of this talk to understand the particular configuration on LUMI.
10:45 CET
11:45 EET
Break
11:05 CET
12:05 EET
Process and Thread Distribution and Binding
Presenter: Jorik van Kemenade
To get good performance on hardware with a strong hierarchy as AMD EPYC processors and GPUs, it is important to map processes and threads properly on the hardware. This talk discusses the various mechanisms available on LUMI for this.
12:05 CET
13:05 EET
Exercises (session #4)
12:30 CET
13:30 EET
Lunch break (60 minutes)
13:30 CET
14:30 EET
Using Lustre
Presenter: Emanuele Vitali
Lustre is a parallel file system and the main file system on LUMI. It is important to realise what the strengths and weaknesses of Lustre at the scale of a machine as LUMI are and how to use it properly and not disturb the work of other users.
14:05 CET
15:05 EET
Using object storage
Presenter: Kurt Lust
LUMI also has an object storage system. It is useful as a staging location to transfer data to LUMI, but some programs may also benefit from accessing the object storage directly.
14:50 CET
15:50 EET
Exercises (session #5)
15:20 CET
16:20 EET
Break
15:40 CET
16:40 EET
Containers on LUMI-C and LUMI-G
Presenter: Kurt Lust
Containers are a way on LUMI to deal with the too-many-small-files software installations on LUMI, e.g., large Python or Conda installations. They are also a way to install software that is hard to compile, e.g., because no source code is available or because there are simply too many dependencies.
16:50 CET
17:50 EET
Wrap-up of the day
Presenter: Kurt Lust
Wrap-up of the day and an outlook towards the second part of the course.
17:00 CET
18:00 EET
Free Q&A
LUSTers stay around to answer questions.
17:30 CET
18:30 EET
End of day 2
DAY 3 - Wednesday March 5, 2025
09:00 CET
10:00 EET
Welcome and Introduction course part 2
Presenters: Harvey Richardson (HPE) and Jørn Dietze (LUST)
09:10 CET
10:10 EET
LUMI Architecture, Programming and Runtime Environment
Presenter: Harvey Richardson (HPE)
Recap from the first two days of this and other LUMI intro courses: Stressing the elements from the LUMI architecture and programming environment that are important for the advanced part of the course.
09:50 CET
10:50 EET
Overview of Compilers and Parallel Programming Models
Presenters: Harvey Richardson and Alfio Lazzaro (HPE)
  • An introduction to the compiler suites available, including examples of how to get additional information about the compilation process.
  • Cray Compilation Environment (CCE) and options relevant to porting and performance.
  • Description of the Parallel Programming models.
10:50 CET
11:50 EET
Exercises (session #6)
11:20 CET
12:20 EET
Break
11:40 CET
12:40 EET
Cray Scientific Libraries
Presenter: Harvey Richardson (HPE)
  • The Cray Scientific Libraries for CPU and GPU execution.
12:10 CET
13:10 EET
Exercises (session #7)
12:30 CET
13:30 EET
Lunch break (60 minutes)
13:30 CET
14:30 EET
OpenACC and OpenMP offload with Cray Compilation Environment
Presenter: Alfio Lazzaro (HPE)
  • Directive-based approach for GPU offloading execution with the Cray Compilation Environment.
14:15 CET
15:15 EET
Introduction to the AMD ROCm ecosystem and HIP
Presenter: Samuel Antão (AMD)
  • The AMD ROCmTM ecosystem
  • HIP programming
15:00 CET
16:00 EET
Exercises (session #8)
15:30 CET
16:30 EET
Break
15:45 CET
16:45 EET
Debugging at Scale – gdb4hpc, valgrind4hpc, ATP, stat
Presenter: Thierry Braconnier (HPE)
16:30 CET
17:30 EET
Exercises (session #9)
17:00 CET
18:00 EET
Open Questions & Answers
Participants are encouraged to continue with exercises in case there should be no questions.
17:30 CET
18:30 EET
End of the course day
DAY 4 - Thursday March 6, 2025
09:00 CET
10:00 EET
Introduction to Perftools
Presenter: Thierry Braconnier (HPE)
  • Overview of the Cray Performance and Analysis toolkit for profiling applications.
  • Demo: Visualization of performance data with Apprentice2
09:40 CET
10:40 EET
Exercises (session #7)
10:10 CET
11:10 EET
Break (20 minutes)
10:30 CET
11:30 EET
Advanced Performance Analysis
Presenter: Thierry Braconnier (HPE)
  • Automatic performance analysis and loop work estimated with perftools
  • Communication Imbalance, Hardware Counters, Perftools API, OpenMP
  • Compiler feedback and variable scoping with Reveal
11:30 CET
12:30 EET
Performance Optimization: Improving Single-core Efficiency
Presenter: Jean Pourroy (HPE)
12:00 CET
13:00 EET
Exercises (session #8)
12:30 CET
13:30 EET
Lunch break
13:30 CET
14:30 EET
MPI Topics on the HPE Cray EX Supercomputer
Presenter: Harvey Richardson (HPE)
  • High level overview of Cray MPI on Slingshot
  • Useful environment variable controls
  • Rank reordering and MPMD application launch
14:15 CET
15:15 EET
Exercises (session #12)
14:45 CET
15:45 EET
Break
15:00 CET
16:00 EET
AMD Debugger: ROCgdb
Presenter: Samuel Antão (AMD)
15:30 CET
16:30 EET
Exercises (session #13)
16:00 CET
17:00 EET
Introduction to ROC-Profiler (rocprof)
Presenter: Samuel Antão (AMD)
16:30 CET
17:30 EET
Exercises (session #14)
17:00 CET
18:00 EET
Open Questions & Answers
Participants are encouraged to continue with exercises in case there should be no questions.
17:30 CET
18:30 EET
End of the course day
DAY 5 - Friday March 7, 2025
09:00 CET
10:00 EET
Introduction to Python on Cray EX
Presenter: Jean Pourroy (HPE)
  • Cray Python for the Cray EX
09:10 CET
10:10 EET
Porting Applications to GPU
Presenter: Alfio Lazzaro (HPE)
09:20 CET
10:20 EET
Optimizing Large Scale I/O
Presenter: Harvey Richardson (HPE)
  • Introduction into the structure of the Lustre Parallel file system.
  • Tips for optimising parallel bandwidth for a variety of parallel I/O schemes.
  • Examples of using MPI-IO to improve overall application performance.
  • Advanced Parallel I/O considerations
  • Further considerations of parallel I/O and other APIs.
  • Being nice to Lustre
  • Consideration of how to avoid certain situations in I/O usage that don’t specifically relate to data movement.
10:00 CET
11:00 EET
Exercises (session #15)
10:15 CET
11:15 EET
Break
10:30 CET
11:30 EET
Introduction to OmniTrace
Presenter: Samuel Antão (AMD)
11:00 CET
12:00 EET
Exercises (session #16)
11:30 CET
12:30 EET
Introduction to Omniperf
Presenter: Samuel Antão (AMD)
12:00 CET
13:00 EET
Exercises (session #17)
12:30 CET
13:30 EET
Lunch break (60 minutes)
13:30 CET
14:30 EET
Best practices: GPU Optimization, tips & tricks / demo
Presenter: Samuel Antão (AMD)
15:00 CET
16:00 EET
Open Questions & Answers
Participants are encouraged to continue with exercises in case there should be no questions.
15:30 CET
16:30 EET
End of the course