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.