Introduction to High-Performance Computing

This workshop is an introduction to using high-performance computing systems effectively. We can’t cover every case or give an exhaustive course on parallel programming in just two days’ 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.


Command line experience is necessary for this lesson. We recommend the participants to go through shell-novice, if new to the command line (also known as terminal or shell).

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

Getting Started

To get started, follow the directions in the “Setup” tab and follow any installation instructions.

Note that this is the draft HPC Carpentry release. Comments and feedback are welcome.


10:00 1. Working on a remote HPC system What is an HPC system?
How does an HPC system work?
How do I log in to a remote HPC system?
10:10 2. Navigating Files and Directories How can I move around the cluster filesystem
How can I see what files and directories I have?
How can I make new files and directories.
11:00 Morning Break Break
11:15 3. Accessing software via Modules How do we load and unload software packages?
11:35 4. Scheduler Fundamentals What is a scheduler and why does a cluster need one?
How do I launch a program to run on a compute node in the cluster?
How do I capture the output of a program that is run on a node in the cluster?
12:45 Lunch Break Break
13:30 5. Using resources effectively How can I review past jobs?
How can I use this knowledge to create a more accurate submission script?
14:00 Afternoon Break Break
14:15 6. Scaling How do we go from running a job on a small number of CPUs to a larger one.
14:45 Finish

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