University of Western Ontario

London, Ontario, Canada

CS 625a - Parallel Algorithms and High-Performance Computing

Instructor

Mark Daley
Middlesex College 28D
661-2111 x 87897
daley@csd.uwo.ca

Announcements

5 December 2005 Our last class will be Wednesday, December 7, from 12:30-1:30pm in room MC300.
15 November 2005 Want to get some experience with one of the most exciting advances in parallel computing hardware before the chips are released? IBM has released an emulator and SDK for the Cell processor!
17 Oct 2005 Class is cancelled this week (Wednesday, 19 October).
11 Oct 2005 Assignment #1 has been posted.
27 Sept 2005 Its never too early to pick a topic and sign up for a presentation slot!
14 Sept 2005 This class will begin at 10am instead of 9:30am from now on, unless otherwise noted. The class will still have an end time of 12:30pm.
31 August 2005 First class will be held on Wednesday, September 14, 2005.

Presentation Schedule

9 NovCameronYulia
16 NovNathanDan
23 NovAngelaGao

Course Materials

Help with MPI on the Research Network

I suggest that you use the machine mccarthy.csd.uwo.ca to develop and run your MPI program.

Before you begin, you have to create a file named .mpd.conf in your home directory. This file should contain the following text:


     # MPICH conf file
     password=password
where you hopefully use a more intelligent value for password. It really doesn't matter, since this is only used when you are running MPI across multiple machines in a cluster, but MPICH will complain if the file doesn't exist. This step only has to be done once, ever.

For each session in which you wish to use MPI, you'll need to execute the MPICH daemon (mpd) and leave it running in the background. This is accomplished thusly:


     mccarthy.csd.uwo.ca [6]> mpd &
You can now use mpirun or mpiexec to run your program. When you are finished, you should run the command mpdallexit to shut down the MPI daemon. So a sample session might look like this(assuming we've already created the file .mpd.conf in our home directory... which we only have to do once):

mccarthy.csd.uwo.ca [21]> mpd &
[1] 3116
mccarthy.csd.uwo.ca [22]> mpicc -o mpitest mpitest.c
mccarthy.csd.uwo.ca [23]> mpiexec -n 4 mpitest
hello World from Node 0
hello World from Node 1
hello World from Node 2
hello World from Node 3

mccarthy.csd.uwo.ca [24]>
 ... lots more compiling and running ...

mccarthy.csd.uwo.ca [51]> mpdallexit

Note that I could've specified any number of processes after the -n option in mpiexec. I recommend testing your program with several different values of n.

More information on MPICH (the MPI implementation on mccarthy) can be found here. You might also want to take a look at some Simple MPI tutorials.