This lesson is in the early stages of development (Alpha version)

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 three hours 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.

Prerequisites

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:

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

Schedule

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. Connecting to a remote HPC system How do I log in to a remote HPC system?
00:25 3. Introduction to the Command Line What is a command shell and why would I use one?
How can I move around on my computer?
How can I see what files and directories I have?
How can I specify the location of a file or directory on my computer?
How can I create, copy, and delete files and directories?
How can I edit files?
02:00 4. Exploring Remote Resources How does my local computer compare to the remote systems?
How does the login node compare to the compute nodes?
Are all compute nodes alike?
02:35 5. 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?
03:50 6. Accessing software via Modules How do we load and unload software packages?
04:35 7. Transferring files with remote computers How do I transfer files to (and from) the cluster?
05:05 8. Running a parallel job How do we execute a task in parallel?
What benefits arise from parallel execution?
What are the limits of gains from execution in parallel?
06:35 9. Using resources effectively How can I review past jobs?
How can I use this knowledge to create a more accurate submission script?
07:05 10. Using shared resources responsibly How can I be a responsible user?
How can I protect my data?
How can I best get large amounts of data off an HPC system?
07:25 Finish

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