Search This Blog

Thursday, April 29, 2010

matrix multiplication

#include

omp_set_num_threads(2 or 4 or 6) // as depends on your loop
#pragma omp parallel for shared(mult, r1,c2) private(j,k)
for(i=0;i {
for(j=0;j {
mult[i][j]=0;
for(k=0;k {
mult[i][j]+=m1[i][k]*m2[k][j];
/*mult[0][0]=m1[0][0]*m2[0][0]+m1[0][1]*m2[1][0]+m1[0][2]*m2[2][0];*/
}
//printf("%d\t",mult[i][j]);
}
//printf("\n");
}
a11 a12 a13 A11 A12 A13 a11xA11+a12xA21+a13xA31 a11xA12+a12xA22+a13xA32
a21 a22 a23 x A21 A22 A23 = a21xA11+a22xA21+a23xA31 a21xA12+a22xA22+a23xA32
a31 a32 a33 A31 A32 A33 a31xA11+a32xA21+a33xA31

No comments:

Post a Comment