Assignment 3: Due April 2, Monday, 4 pm.
We continue the implementations of matrix multiplication.
This time we compute the multiplication on a network of workstations
(NOW) on the Internet (distributed memory)
using MPI (Message Passing Interface).
One computer (the host) should have matrices A, B, and C
at the start and have the product A*B in C at the end of the computation.
The main purpose of this assignment is to let you get familiar
with message passing programming. Performance is a secondary
issue in this assignment. You may use any layout discussed
in class. You may start with a simple layout and then improve
it step by step.
You can find information about MPI in
the Resource section at the bottom of the course web page.
Run your program using various numbers of computers.
Time your program and compare with
the sequential program you developed in Assignment 1.
To make the comparision fair, use the matrix multiplication
subroutine in your Assignment 1 in your parallel program.
Hand in a report on you experiments and include the source code.