Using an HPC cluster

A Supercomputer is a machine that highly exceeds the performance of currently available desktop computers. A High-Performance Computing cluster is the most commonly used kind of supercomputer. Intended to be used as a shared resource by several users, it relies on a resource manager and scheduler to optimize the overall execution of many jobs across a variety of compute nodes. This lesson will present the basics of using an HPC cluster, Unix commands, modules, submission of jobs, version control, and software containers.

Prerequisites

This tutorial assumes a very minimal familiarity with command line interface. This first lesson is intended even for first-time users. The lesson progresses towards submit jobs in a cluster and working with files all from a terminal interface.

Schedule

Setup Download files required for the lesson
09:00 1. Getting access to the Cluster How to connect without using passwords?
10:00 2. Basics of Command Line Interface Which are the most basic commands that I need to learn?
11:00 3. Text Editors (vi, emacs and nano) How edit text files on Linux using the terminal?
11:30 4. Environment Modules How to load modules to access software that I want to use for my research?
12:00 5. Lunch Break Break
13:00 6. Job Submission (Torque and Moab) How to submit jobs on the HPC cluster?
14:00 7. Version Control (git) How to keep track of changes in text files
14:30 8. Transferring Files How transfer files from/to cluster to/from my workstation?
15:00 9. Software Containers (Singularity) What is a software container and hoy to use it?
16:00 Finish

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