Parallel Processing Algorithm for Matrix Multiplication, Exercises of Parallel Computing and Programming

The code for a parallel processing algorithm to perform matrix multiplication between two matrices 'a' and 'b' of sizes m x n and n x 1 respectively. The algorithm uses multiple processors to increase the efficiency of the computation. The code for processor 0 and other processors.

Typology: Exercises

2011/2012

Uploaded on 07/23/2012

parama
parama 🇮🇳

4.1

(12)

56 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Question 1 (a)
Program for processor 0
Array a[m][n] b[n][1] res[m][1];
Increment=m/(p*q);
begin
For i=1 to m do
For j=1 to n do
Read a[i][j];
End for;
End for;
For i=1 to n do
Read b[i][1];
End for;
For i=1 to (p*q -1) do
Send (I, a [i*increment][0],increment*n);
End for;
For i=1 to (p*q -1) do
Send (I , b [0][0],n*1);
End for;
For i=1 to increment do
For j=1 to n do
Res[i][1]= Res[i][1] + (a[i][i] * b[j][1]);
End for;
docsity.com
pf2

Partial preview of the text

Download Parallel Processing Algorithm for Matrix Multiplication and more Exercises Parallel Computing and Programming in PDF only on Docsity!

Question 1 (a)

Program for processor 0

Array a[m][n] b[n][1] res[m][1]; Increment=m/(pq); begin For i=1 to m do For j=1 to n do Read a[i][j]; End for; End for; For i=1 to n do Read b[i][1]; End for; For i=1 to (pq -1) do Send (I, a [iincrement][0],incrementn); End for; For i=1 to (pq -1) do Send (I , b [0][0],n1); End for; For i=1 to increment do For j=1 to n do Res[i][1]= Res[i][1] + (a[i][i] * b[j][1]); End for;

docsity.com

End for; For i=1 to (pq -1) do Receive (I, Res [iincrement][0],increment*1); End for; Write res[m][1]; End

Program for other processors

Pid = get_processor_id(); Increment=m/(pq); Begin Receive (0, a [iincrement][0],incrementn); Receive (0, b, n1); For i = Pidincrement to (Pidincrement)+ increment-1 do For j=1 to n do Res[i][1]= Res[i][1] + (a[i][j] * b[j][1]); End for; End for; Send (0,Res[Pidincrement][1],increment1 ); End

docsity.com