Bay Campus

July 12th, 2019

9:00am - 5:00pm

Instructors: Jarno Rantaharju

Helpers: Michele Mesiti

General Information

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.


Schedule

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.


Setup

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.

The Bash Shell

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.

Windows

  1. Download the Cygwin installer.
  2. Run the installer and follow the steps below:
    1. Click on "Next" six times. You don't need to change anything in the Information and location screens.
    2. In the select packages screen, select the latest version of the following packages
      1. openssh
      2. gcc-core and gcc-fortran
      3. openmpi, libopenmpi40, libopenmpihf08_40, libopenmpiusef08_40 and openmpi-devel
      4. make and cmake
      5. git
    3. Click "Next" twice.
    4. Click "Finish".

This will provide you with both the Cygwin Shell and OpenMPI.

macOS

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.

Linux

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.

MPI Worshop Requirements

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.

Supercomputing Wales

In this workshop we will use the Supercomputing Wales facilities to learn to use High-Performance Computing. For this, you will need an account on the Supercomputing Wales facilities.
  1. Visit My Supercomputing Wales
  2. Sign in with your Swansea University email and password
  3. Fill in the form requesting a Supercomputing Wales account. Your aaccount request will be processed by an administrator.
  4. Once you receive an email indicating that your account has been created, then revisit My Supercomputing Wales, and log in again if necessary.
  5. Click the "Reset SCW Password" button, and enter a password that you will use to access the Supercomputing Wales hardware. (This does not have to be the same as your Swansea University password.) Click Submit.
  6. Under "Join a project", enter scw1447 as the project code for this training session, and click "Join".