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