Teaching: 45 min
Exercises: 30 min
Questions
- What is a scheduler and why does a cluster need one?
- How do I launch a program to run on a compute node in the cluster?
- How do I capture the output of a program that is run on a node in the cluster?
Objectives
- Submit a simple script to the cluster using Slurm.
- Monitor the execution of jobs using command line tools.
- Describe the basic states through which a submitted job progresses to completion or failure.
- Inspect the output and error files of your jobs.
- Cancel a running job.
Running example code on a cluster Page
Teaching: 30 min
Exercises: 20 min
Questions
- How can we get our (or others’) code running on an HPC resource?
Objectives
- Explain what MPI is used for.
- Load and use software package modules.
- Compile and run an MPI program.
- Build and submit a batch submission script for an MPI program.
- Describe what happens if we specify too few resources in a job script.
Not available unless: You belong to any group
Understanding code scalability Page
Teaching: 10 min
Exercises: 0 min
Questions
- What is code scalability?
- Why is code scalability important?
- How can I measure how long code takes to run?
Objectives
- Describe why code scalability is important when using HPC resources.
- Explain the difference between wall time and CPU time.
- Describe the differences between strong and weak scaling.
- Summarise the dangers of premature optimisation.
Not available unless: You belong to any group
Scalability profiling Page
Teaching: 45 min
Exercises: 20 min
Questions
- How scalable is a particular piece of code?
- How can I generate evidence for a code’s scalability?
- What does good and bad scalability look like?
Objectives
- Explain how Amdahl’s Law can help us understand the scalability of code.
- Use Amdahl’s Law to predict the theoretical maximum speedup on some example code when using multiple processors.
- Understand strong and weak scaling graphs for some example code.
- Describe the graphing characteristics of good and bad scalability.
Not available unless: You belong to any group