top left image top centre image  
  Home
  Organization Info
  Workshops
  Events
  Employment
  Research
  Contact Info
Bottom of Sidebar
    stuff

Step-by-step Parallelization with MPI Workshop


Location 1: McMaster University, ABB 166
Date: Tuesday, October 29, 10 am-4pm

Location 2: Univ. of Western Ontario, Somerville House 1325
Date: Wednesday, November 6, 10 am-4pm

Website: http://www.sharcnet.ca/workshops/

Email James Wadsley to register.

Please contact us if you would like more details. Workshop contact: James Wadsley wadsley@sharcnet.ca

Speakers:
James Wadsley (SHARCNET, McMaster)
Philippe Depouilly (Univ. Bordeaux 1)
Baolai Ge (SHARCNET, UWO)


These workshops will be very informal and incorporate active group discussions. The sessions will be dynamic and the level of detail on each topic will vary according the inclinations of the group. We encourage users thinking about converting a code to MPI to use this as an opportunity to explore that possibility. Each session will include some prepared talk segments.

We have scheduled 2 hours in the morning and 3 hours in the afternoon. Below is a rough list of the topics slated for each session.

MPI Step-by-Step: McMaster, Tuesday, Oct 29.

Morning 10 am - 12 noon Overview of Parallel Programming
Scaling and Parallel overheads
Characterizing an application
Discussion of users applications
Practical MPI
Simple C Example
Afternoon 1 pm - 4 pm Converting Legacy code to Parallel with MPI
Importance of understanding the application
Introduction to PPM (Fortran) Code
Analysing code structure
Implementing MPI in example Fortran code
Parallel Debugging (Totalview)
Parallel Profiling (Vampir)

In this workshop we will take a typical application and work through the steps of assessing suitability for parallelization and then implementation of MPI into serial code. For the example we have chosen a 2D fluid dynamics code. This application is representative of the broad class of numerical problems involving solving PDE's on a regular mesh. The workshop will focus on general principles and then convert them to practical changes to the application.

We will start with discussion on what makes a code good for parallelization and follow-on with detailed examination of the core subset of MPI that is most relevant. We will introduce a two-dimensional hydrodynamics code that solves the Euler equations using the Parabolic Method as a prototype of a general mesh based application. We will discuss why is it a good candidate for MPI parallelization and identify the structures in the code that affect the parallelization approach. We will attempt to keep the discussion general so as to apply to any scientific application with similar characteristics. We will show how message based parallelization can be implemented to have minimal impact on the code structure.

In the hands-on components we will lead the users through the implementation of MPI in the code and examine bug tracking and performance measurement for the application. We will discuss alternative implementations and more advanced features of MPI and how they might be used. We will also discuss I/O, checkpointing, scaling, load balance and other topics related to running such an application.

This workshop is intended to be complementary to the SHARCNET/c3 Fall Workshop held on Oct 22-25th (see http://www.sharcnet.ca/workshops/). We will assume some experience with scientific programming (e.g. FORTRAN, C) and a basic understanding of MPI.