
Information about the PDGEMM application
----------------------------------------

This application multiplies two dense square
matrices of size n-by-n.

It uses heterogeneous COLUMN_BASED data distribution
of the matrices.

The inputs are (in parameters.h):

1). n     --- size of the matrix
2). (p,q) --- processor grid
3). kb    --- blocking factor

A restriction on n:

n must be a lcm(p*kb,q*kb).

For example, (p,q)=(3,2) and kb=5, then n must be a multiple
of 30.

Each process writes its output to a file of the form
<hostname>_I_J.txt where (I,J) are the coordinates of the
process.
There will be two lines:
<--COMM--> represents communication times
<**COMP**> represents computation times

The distribution strategy used for computations is
HDS:

In this strategy, one process is executed per
computer (the computer may have one or more processors).
The volume of data allocated to a computer is proportional
to the speed of the computer.

The timesofs are returned for each process arrangement.

HOW TO RUN
----------

shell$ mpcc pdgemm.mpc

shell$ mpicc -I<hmpi install directory>/include -o mxm mxm.c -L<hmpi install directory>/lib -lhmpi -lmpc

You must link the BLAS libraries.

Use 'mpirun' to run the program.

