Question: void matmul_locality_parallel(int n, int m, int k, double* C, const double* A, const double* B) { int i, j, p; for(int i=0;i C[i] = 0;}

 void matmul_locality_parallel(int n, int m, int k, double* C, const double*

void matmul_locality_parallel(int n, int m, int k,

double* C, const double* A, const double* B) {

int i, j, p;

for(int i=0;i

C[i] = 0;}

#pragma omp parallel for

for(i=0;i

for(p=0;p

double a = A[i*m + p];

for(j=0;j

C[i*k+j] += a*B[p*k + j];

}

}

}

}

void matmul_transpose_parallel(int n, int m, int k,

double* C, const double* A, const double* B) {

double *BT = malloc((m*k) * sizeof(double));

int T = 5;

int ii, jj, i ,j, p;

#pragma omp parallel for

for (ii=0;ii

for (jj=0;jj

for (i=ii;i

for (j=jj;j

{

BT[j*m+i]=B[i*k+j];

}

for(i=0;i

C[i] = 0;}

#pragma omp parallel for

for(i=0;i

for(j=0;j

double acc = 0;

for(p=0;p

acc += A[i*m+p] * BT[j*m+p] ;

} C[i*k+j] = acc;

}

}

free(BT);

}

A, const double* B) { int i, j, p; for(int i=0;i C[i]

Does matmul_locality-parallel() exploit as much parallelism as matmul_transpose_parallel()? If there is a difference, is the difference likely to matter in practice? n 2.500 TI 2.000 n 2.000 n 3.000 n 1.000 n = 500 m= 2.500 m2.000 m = 3.000 m2.00 m 1.000 m500 Inatmul matmul k= 2.500 k=5.000 k= 2.500 k= 2.500 k=1.000 k=500 6:325tims 50968ms 83100ms 37029ms 1.395ms 108ms (0.19102:3) (0.781808) (0.359712) (0.810178) (1.4:24073) (2.308850) (1881.517806)** (2993.806811)** (1:372.192718)** (3090.585289)** (5170.551916 (8867.561869)** 16162ms 17482m 21025ms 10102ms -596ms 32ms (1.898294)* (2.288097) (1.126816) (2.969602) (5.051526) (7.905389) (7211.1172.34) ** (8728.597540)** (5112.984:362) (11.328.133623)** (19270.000714)*(30149.0.36305) 1.5x351ms 35283ms 17231 ms 11780ms 616ms 50ms (2.0635746)* (1.133690) (1.741012) (2.56583) (3.245652) (5.016051) (7765.754723) ** (1321.683883)*(6611.518312)** (9714.413818)** (12381.179975)** (19131.717124)** _parallel matmul Llocality

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!