July 12th, 2019
9:00am - 5:00pm
Instructors: Jarno Rantaharju
Helpers: Michele Mesiti
As processors develop, it's getting harder to increase the their clock speed. Instead, new processors tend to have more processing units. To take advantage of the increased resources, programs need to be written to run in parallel. In High Performance Computing (HPC), a large number of state-of-the-art computers are joined together with a fast network. Using an HPC system efficiently requires a well designed parallel algorithm. MPI stands for Message Passing Interface. It is a straightforward standard for communicating between the individual processes that make up a program. There are several implementations of the standard for nearly most platforms (Linux, Windows, OS X...) and many popular languages (C, C++, Fortran, Python...). The morning session of this workshop introduces general concepts in parallel programming and the most important functions of the Message Passing Interface. The afternoon session includes a practical implementation of an MPI program, testing MPI applications and profiling.
Who: The course is aimed at graduate students and other researchers at Swansea University who are working with or are planning work with parallel applications. You should have some experience with either C or Fortran. We will also use the Sunbird system using the Bash Shell. Familiarity with the materials in the SA2C Shell and HPC workshop materials is helpful.
Where: The Boardroom, Computational Foundry, Bay Campus, Swansea University. Get directions with OpenStreetMap or Google Maps.
When: July 12th, 2019. Add to your Google Calendar.
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 (listed below). 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 organizers 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 (using contact details below) and we will attempt to provide them.
Contact: Please email j.m.o.rantaharju@swansea.ac.uk for more information.
09:00 | Introduction to MPI and Designing Parallel Algorithms |
10:50 | Coffee |
09:00 | Introduction to MPI and Designing Parallel Algorithms |
12:30 | Lunch break |
13:30 | Implementing a Parallel Algorithm, Scaling and Profiling |
14:45 | Coffee |
13:30 | Implementing a Parallel Algorithm, Scaling and Profiling |
17:00 | END |
Reference... |
We will use ReCoN, the Swansea University Research Computing Network, for chatting, taking notes, and sharing URLs and bits of code.
To participate in a workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.
We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.
Bash is a commonly-used shell that gives you the power to do simple tasks more quickly. In the MPI workshop, we will use it to interact with the Sunbird cluster.
This will provide you with both the Cygwin Shell and OpenMPI.
The default shell in all versions of macOS is Bash, so no
need to install anything. You access Bash from the Terminal
(found in
/Applications/Utilities
).
See the Git installation video tutorial
for an example on how to open the Terminal.
You may want to keep
Terminal in your dock for this workshop.
The default shell is usually Bash, but if your
machine is set up differently you can run it by opening a
terminal and typing bash
.
OpenMPI is an open source implementation of the MPI standard. It is widely available and straightforward to install on most systems. However, when using using Visual Studio on Windows, it is easier to install and use the Microsoft implementation of MPI.
Follow the instruction on the workshop setup page. Install an implementation of MPI, CMocka or FRUIT, and the CubeGUI from the Scalasca section.