This lesson is being piloted (Beta version)

Introduction to High-Performance Computing

This workshop is an introduction to using high-performance computing systems effectively. We obviously can’t cover every case or give an exhaustive course on parallel programming in just two days’ of teaching time. Instead, this workshop is intended to give students a good introduction and overview of the tools available and how to use them effectively.

By the end of this workshop, students will know how to:


  • This is the draft HPC Carpentry release. Comments and feedback are welcome.
  • Link to hpc-shell when that is complete.


Command line experience is necessary for this lesson. We recommend the participants to go through if new to the terminal.


Setup Download files required for the lesson
00:00 1. Why Use a Cluster? Why would I be interested in High Performance Computing (HPC)?
What can I expect to learn from this course?
00:20 2. Working on a cluster How do I log on to a cluster?
How do I transfer data to a cluster?
How is a cluster different to my laptop?
How do I run processes on the cluster?
00:45 3. Scheduling jobs What is a scheduler and why are they used?
How do I launch a program to run on any one node in the cluster?
How do I capture the output of a program that is run on a node in the cluster?
02:00 4. Accessing software How do we load and unload software packages?
02:45 5. Transferring files How do I upload/download files to the cluster?
03:25 6. Using resources effectively How do we monitor our jobs?
How can I get my jobs scheduled more easily?
03:50 7. Using resources effectively How can I be a responsible cluster user?
04:05 8. Useful Tools What are the tools I can use to make tasks easier when dealing with HPC?
04:25 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.