|
|
|
|
![]() |
![]() |
Parallel Matrix Multiply
In the lecture I merely said write a parallel matrix multiply program. Here I have added detail to make it easier for you.
The program should be able to accept any size square matrix and utilize any number of processors, although I will accept a fixed number of processors.
A better way of expressing the problem is: Write a function "square_dgemm", similar to the LAPACK "dgemm" routine but limited to square matrices, to compute the product of two matrices using MPI to distribute the task onto a number of processors. Note, only one processor should read the data/matrix and then the program should automatically share this among the processors.
There is a harness routine matmul.c in http://www.hpc.unimelb.edu.au/cs/assignment2/ which provides checks on correctness and scalability. There are also serial basic and dlocked matrix multiiply sub-routines in the directory which may give assistance with methods of dealing with the odd bits left when the number of processors does not divide the matrix size.