Picture of David Henty

Instructor: David Henty
Edinburgh Parallel Computing Centre
University of Edinburgh
d.henty@epcc.ed.ac.uk


David Henty has been working with supercomputers for over 30 years and teaching people how to use them for almost as long. He joined Edinburgh Parallel Computing Centre (EPCC) after doing research in computational theoretical particle physics. EPCC is based at the University of Edinburgh, Scotland where we house and support the UK national supercomputer service ARCHER2.

Course Description

Modern parallel computers are a combination of shared-memory and distributed-memory architectures. The standard ways to program these architectures for HPC applications are OpenMP and MPI (the Message-Passing Interface) respectively. This hands-on course assumes a only a very basic understanding of OpenMP and MPI, but I appreciate that students will come with a wide variety of experience. I will therefore start the session with an online survey (in the form of a live, anonymous quiz) where I will aim to understand what students already know and what they would like to learn.

To try and cater for a range of levels of experience I will generally distribute working codes and cover key concepts by going through the codes rather than presenting lots of lecture material. Those quite new to the topic can compile and run the examples, but I will also set a number of programming exercises so those with more experience can explore new areas.

All the MPI exercises, which form the major part of the course, can be done using C, C++, Fortran or Python; the OpenMP examples, however, cannot be done using Python.

Summer School Materials

The material that I will be presenting during the Summer School will all be available from https://github.com/davidhenty/ihpcss2022

The proposed timetable is:

Monday 20th June
  • 13:30 General Survey: go to https://b.socrative.com/login/student/ and enter the "Room Name" as HPCQUIZ
  • 14:00 Log on to bridges2 and run initial examples
  • 14:15 MPI Concepts
  • 14:45 Pi Calculation Example
  • 15:00 Coffee
  • 15:30 Traffic Model (explanation)
  • 15:45 Traffic Model (look at code)
  • 16:00 Collectives and non-blocking communications
  • 16:30 Traffic Model (practical exercise)
  • 17:30 Close

Tuesday 21st June
  • 09:00 OpenMP concepts
  • 09:30 Work Sharing
  • 10:00 Traffic Model (exercise)
  • 10:30 Coffee
  • 11:00 Hybrid MPI and OpenMP
  • 11:45 Q&A
  • 12:00 Traffic Model (exercise)
  • 12:30 Close
Resources

An excellent place to go for information on all aspects of parallel programming, including numerous examples, is the RookieHPC site.


Last modified: Monday, June 20, 2022, 5:42 AM