High-performance computing

This course is an introduction to HPC on the Alliance clusters. We will start with the cluster hardware overview, then talk about some basic tools and the software environment on our clusters. Next we will give a quick tour of various parallel programming frameworks such as OpenMP, MPI, Python Dask, newer parallel languages such as Chapel and Julia, and we will try to compile some serial, shared-memory and distributed-memory codes using makefiles. We will then proceed to working with the Slurm scheduler, submitting and benchmarking our previously compiled codes. We will learn about batch and interactive cluster usage, best practices for submitting a large number of jobs, estimating your job’s resource requirements, and managing file permissions in shared cluster filesystems. There will be many demos and hands-on exercises on our training cluster.

Date:
Tuesday, June 4, 2024

Time:
9:30am–4:30pm with a one-hour lunch break (12:30pm-1:30pm)

Instructor:
Alex Razoumov (Simon Fraser University)

Prerequisites:
Working knowledge of the Bash shell.

Software:
We will provide access to one of our Linux systems. To make use of it, attendees will need a remote secure shell (SSH) client installed on their computer. On Windows we recommend the free Home Edition of MobaXterm. On Mac and Linux computers, SSH is usually pre-installed (try typing ssh in a terminal to make sure it is there).