Introduction to High-Performance Computing

This course provides an introduction to High Performance Computing (HPC). After completing this course, participants will:

This course is being run with support from the ARCHER National Supercomputing Service, The University of Leeds and IBM Research.

Prerequisites

You need to have previous experience working with the Unix Shell. For a brief introduction to bash, you can refer to the Software Carpentry material available online. You don’t need to have any previous knowledge of the tools that will be presented at the workshop.

Location, Time, Dates

Requirements

Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed as detailed at the ARCHER Software setup page. They are also required to abide by Software Carpentry’s Code of Conduct.

Accessibility

We are committed to making this workshop accessible to everybody. The workshop organisers have checked that:

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch and we will attempt to provide them.

Registration

Please register for this event on the ARCHER Training page.

### Discussion

Schedule

Setup Download files required for the lesson
Day 1 10:00 1. Why use High Performance Computing? Why would I be interested in High Performance Computing (HPC)?
What can I expect to learn from this course?
10:30 2. What is an HPC system? What is a high-performance computer?!
How are high-performance computers different from personal computers?
How do these differences influence how I use HPC systems most effectively?
10:55 3. Morning Coffee Break
11:10 4. Connecting to the HPC system How do I open a terminal?
How do I connect to a remote computer?
11:25 5. Transferring files How do I upload/download files to/from a remote HPC system?
11:55 6. Scheduling jobs What is a scheduler and why are they used?
How do we submit a job?
13:10 7. Lunch Break
14:10 8. Accessing software How do we load and unload software packages?
14:55 9. Using resources effectively How do we monitor our jobs?
How can I get my jobs scheduled more easily and improve throughput?
15:25 10. Afternoon Tea Break
15:40 11. 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?
16:00 Finish
Day 2 10:00 12. How does parallel computing work What are the different ways in which we can use resources in parallel?
What implications do different parallel models have for performance and my use of HPC?
How do I use different parallel strategies on an HPC system?
11:00 13. Morning Coffee Break
11:15 14. Understanding what resources to use How can I work out what resources to request in my HPC jobs?
What should I measure to understand if I am using the HPC system effectively?
12:00 15. Future of HPC What will future HPC systems look like?
What impact will future HPC architectures have on my work?
12:30 16. Lunch Break
13:30 17. Bootstrapping your use of HPC How can I get started on using HPC?
Where can I get help to start using HPC?
16:00 Finish

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