Skip to content
Snippets Groups Projects
Commit 4bbe7e65 authored by gkusoglu's avatar gkusoglu
Browse files

trying optimize 3mm

parent 7256edad
Branches
No related merge requests found
......@@ -81,37 +81,41 @@ void kernel_3mm(int ni, int nj, int nk, int nl, int nm,
int i, j, k;
#pragma scop
#pragma omp parallel
{
/* E := A*B */
for (i = 0; i < _PB_NI; i++)
#pragma omp for schedule(static)
for (i = 0; i < _PB_NI; i++){
for (j = 0; j < _PB_NJ; j++)
E[i][j] = SCALAR_VAL(0.0);
for (i = 0; i < _PB_NI; i++)
for (k = 0; k < _PB_NK; ++k)
for (j = 0; j < _PB_NJ; j++)
E[i][j] += A[i][k] * B[k][j];
}
/* F := C*D */
for (i = 0; i < _PB_NJ; i++)
#pragma omp for schedule(static)
for (i = 0; i < _PB_NJ; i++){
for (j = 0; j < _PB_NL; j++)
F[i][j] = SCALAR_VAL(0.0);
for (i = 0; i < _PB_NJ; i++)
for (k = 0; k < _PB_NM; ++k)
for (j = 0; j < _PB_NL; j++)
F[i][j] += C[i][k] * D[k][j];
}
/* G := E*F */
for (i = 0; i < _PB_NI; i++)
#pragma omp for schedule(static)
for (i = 0; i < _PB_NI; i++){
for (j = 0; j < _PB_NL; j++)
G[i][j] = SCALAR_VAL(0.0);
for (i = 0; i < _PB_NI; i++)
for (k = 0; k < _PB_NJ; ++k)
for (j = 0; j < _PB_NL; j++)
G[i][j] += E[i][k] * F[k][j];
}
}
#pragma endscop
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment