Summary and Schedule
This lesson follows the performance analysis deck by Maxim Masterov (15.05.2025), adapted and updated by Rohit Goswami. You time a run, name what limits it, and read a roofline.
The AXPY binary used in the scaling episode is in the hybrid MPI and OpenMP lesson: https://supersurf.rgoswami.me/hybrid-jobs/.
| Setup Instructions | Download files required for the lesson | |
| Duration: 00h 00m | 1. How to evaluate a run |
What do you do after a run finishes, and what do you do with that
answer? Which line of time -p is the time you waited?
|
| Duration: 00h 20m | 2. What limits a run |
How do you tell an I/O limit, a communication limit, a compute limit,
and a memory limit apart? Which change matches which limit? |
| Duration: 00h 50m | 3. Strong and weak scaling |
What stays fixed in strong scaling, and what grows in weak
scaling? How do you get an efficiency of 0.625 from 8.0 seconds and 1.6 seconds? |
| Duration: 01h 25m | 4. The roofline |
What is arithmetic intensity, and what is the ridge? How does the deck turn throughput 6.7257 and bandwidth 2.6767 into 2.5 FLOP/byte? |
| Duration: 02h 10m | 5. Energy |
Which two Slurm lines turn on EAR monitoring? Which eacct columns are watts and joules?
|
| Duration: 02h 30m | 6. Slurm resources |
What does a job of 4 MPI ranks and 8 threads per rank ask for? What do SLURM_NTASKS and SLURM_CPUS_PER_TASK print?
|
| Duration: 02h 55m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
time -p needs a terminal. The Slurm episodes need a
login on Snellius or the course cluster.
Hardware counters, energy, and the partition request are in the
episode tabs. Read the tab for the machine in your welcome note before
you copy a #SBATCH line.