|
Setup |
Download and setup software required for the course |
00:00 |
Setting the Scene
|
What are we teaching in this course?
To whom will this course be useful?
|
00:10 |
Section 1: HPC basics
|
What are the topics covered in Section 1?
|
00:15 |
HPC Intro
|
What is sequential and parallel code execution?
How do computer and network architecture define computational performance for personal and supercomputers?
What types of parallelization exist?
How data storage works in HPC?
|
00:35 |
LSST HPC facilities and opportunities
|
Which HPC facilities are available for the members of the LSST community?
|
00:45 |
Bura access
|
How to access the Bura High Performance Computing Cluster
|
01:10 |
Command line basics
|
How can I change directories from the command line?
How can I create directories and files from the command line?
How can I view my identity?
How can I create and move files?
How can I who is doing what on a computer or HPC?
How can I print to the shell?
|
02:10 |
Bura Setup
|
How do I find and use software on a shared supercomputer?
Why can’t I just use sudo apt-get install like on my own machine?
How do I manage different versions of the same software?
How can I install Python packages for my project without affecting other users?
|
02:55 |
Introduction to Slurm workload manager
|
What is Slurm?
How do I run computing tasks using Slurm?
|
04:00 |
Section 2: Running code on Bura
|
What are the topics covered in this section?
|
04:05 |
Intro code examples
|
What are our options to speed up our code?
|
04:20 |
Parallelising our code for CPU
|
What is the difference between serial and parallel code?
How do CPU and GPU programs differ?
What tools and programming models are used for HPC development?
|
05:10 |
Implementing code examples for running on GPU
|
How do CPU and GPU programs differ?
What tools and programming models are used for HPC development?
|
06:00 |
Resource requirements
|
What is the difference between requesting for CPU and GPU resources using Slurm?
How can I optimize my slurm script to avail the best resources for my specific task?
|
06:40 |
Resource optimization and monitoring for Serial Jobs
|
How do we optimize and monitor resource usage for sequential jobs on an HPC system?
What tools can we use to profile CPU and memory usage for single-core jobs?
What are the best practices and common pitfalls when submitting sequential scripts?
|
07:20 |
Resource optimization and monitoring for Parallel Jobs
|
How do we optimize resource requests for parallel jobs on an HPC system?
What are common pitfalls when requesting CPUs, memory, or nodes?
How can we monitor parallel job performance to adjust allocations?
|
08:00 |
Wrap-up
|
Looking back at what was covered and how different pieces fit together
Where are some advanced topics and further reading available?
|
08:15 |
Finish |
|
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.