/hpc-course-getting-started

A tutorial-style introduction to the HPC course

Getting Started with the HPC Course

This is a collection of documents aiming to introduce the environment and typical workflows in HPC systems. The tutorial addresses—and should be useful for—both the Introduction to HPC (COMS30005) and Advanced HPC (COMS30006) courses. Note, however, that we likely cover more material than is directly relevant for the assignments—just because a technique or issue is mentioned in this tutorial, it does not mean that you necessarily need to tackle it in your submitted code or report.

Structure

This repository aims to serve both as introductory material for the course labs and as reference to be used throughout the assignment. When reading this material for the first time, we suggest that you follow the ordering presented in the section below and try the commands and code yourself. However, each page aims to be self-contained and cover its topic without relying on a specific reading order.

Suggested reading order

If you are unfamiliar with HPC systems, it's worth covering the basics of connecting to and using as supercomputer before moving on to programming tools. We suggest you go through this tutorial as follows:

  1. PrerequisitesPlease read this first!
  2. Connecting to BlueCrystal
  3. Software Modules and BlueCrystal
  4. Queueing Systems
  5. HPC Compilers
  6. Performance Analysis Tools
  7. MPI
  8. OpenMP
  9. Case Study: Jacobi Code Optimisation

Note that this is not required reading per se. The purpose of this tutorial is to help you get started with your assignment, but as long as you acquire the necessary skills to complete the unit, feel free to skip sections or use any alternative or additional material.

Items marked with † cover advanced topics and may exceed the scope of the Introduction course.

FAQs

In addition to the reference pages, we are collecting answers to common questions in a dedicated FAQ page. If you encounter a problem, it's worth checking if there isn't already a solution to it!

Additional Material

In the past, we have used various content that you may find useful throughout the unit. The list below is in no particular order.

In addition, there are many books and links to online resoures on the units' BlackBoard page.


Issues

Please report any problems or mistakes and suggest any potential improvements using Issues.