HPC 101
An introduction to High-Performance Computing course offered annually. All first-year students and new post-docs are expected to attend this. Second/ third year students are welcome to drop-in to lectures if desired.
Syllabus
| Week | Topic |
|---|---|
| 1 | Intro to HPC |
| 2 | SLURM, Linux and Shell |
| 3 | Git |
| 4 | Environments |
| 5 | CPUs and Threading |
| 6 | GPUs |
| 7 | MPI |
| 8 | Software Carpentry |
| 9 | Profiling |
Learning Objectives
- Knowledge of computer and cluster components and their programming paradigms.
- Strong ability to find and Read The Friendly Manual!
- Know how to conduct reproducible computational research.
- Estimate compute needs for a job, match it to the appropriate resource, and submit the job.
Coursework
Weekly Assignments, submitted on Gradescope:
- Due at the start of class one week later.
- Late deadline: up to two weeks after the class.
Course Materials from 2022
- Intro to HPC
- Environments / Spack
- Git
- Build Tools
- Profiling and Benchmarking
- Multithreading
- Multiprocessing
- GPUs
Some topics were lecture-only and thus lack a slide deck