next up previous contents
Next: Block-checkerboard partitioning Up: Parallelizing matrix-vector multiplication Previous: Self-scheduling or Master-Slave Algorithm   Contents

Block-striped partioning

A matrix of size $(n \times n)$ is striped row-wise amoung p processes, so that each processor stores n/p rows of the matrix. A Vector of size n is sent to each processor. Each processor multiplies it's chunk of the matrix with the corresponding rows of the vector. The root process then gathers in all the values. This is more efficient than the previous solution, as the entire matrix is broadcast to the nodes at the start, instead of looping around and sending one row at a time.



Colm O hEigeartaigh 2003-05-30