2. Multiplicación de matrices
Sean A (n x l) y B (l x m) dos matrices, entonces cada
elemento cij de la matriz resultante se calcula como:
1
0
l
k kjikij bac
4. Multiplicación de matrices
Matriz caso secuencial
Dónde:
n = número de iteraciones para llegar a la suma completa
i, j, k = contadores
a, b =representan las matrices
c = el producto de ambas
5. Multiplicación de matrices
Matriz caso paralelo
Ejemplo con 2 procesadores
for (i = 0; i < n; i++2) {
for (j = 0; i < n; j++2) {
c[i][j] = 0;
for (k = 0; k < n; k++2) {
c[i][j] += a[i][k] * b[k][j]
}
}
}
for (i = 1; i < n; i++2) {
for (j = 1; i < n; j++2) {
c[i][j] = 0;
for (k = 1; k < n; k++2) {
c[i][j] += a[i][k] * b[k][j]
}
}
}
6. Multiplicación de matrices
for (i = 0; i < n; i++N) {
for (j = 0; i < n; j++N) {
c[i][j] = 0;
for (k = 0; k < n; k++N) {
c[i][j] += a[i][k] * b[k][j]
}
}
}
for (i = 2; i < n; i++N) {
for (j = 2; i < n; j++N) {
c[i][j] = 0;
for (k = 2; k < n; k++N) {
c[i][j] += a[i][k] * b[k][j]
}
}
}
for (i = 1; i < n; i++N) {
for (j = 1; i < n; j++N) {
c[i][j] = 0;
for (k = 1; k < n; k++N) {
c[i][j] += a[i][k] * b[k][j]
}
}
}
for (i = N; i < n; i++N) {
for (j = N; i < n; j++N) {
c[i][j] = 0;
for (k = N; k < n; k++N) {
c[i][j] += a[i][k] * b[k][j]
}
}
}
Matriz caso paralelo
Ejemplo con N procesadores