Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matrices PDF
Matrices PDF
18 de diciembre de 2008
ndice
1
3
4
5
Introduccin
Importancia
Consideraciones
Caractersticas
Secuencial
Paralelizar
Tipos
Secuencial
Bloques
Cannon
Fox
DNS
Conclusiones
Trabajo
Bibliografa
Gins David Guerrero Hernndez
Caractersticas de la MM
Algoritmo secuencial
Bsicamente est formado por tres bucles for.
Cdigo
for (i = 0; i < n; i++) {
for (j = 0; i < n; j++) {
C[i][j] = 0;
for (k = 0; k < n; k++) {
C[i][j] += A[i][k] * B[k][j]
}
}
}
O(n3 ).
P1
P1
P1
P1
P1
P1
P1
P2
P2
P2
P2
P2
P2
P2
P2
P1
P2
P1
P1
P1
P1
P1
P1
P1
P1
P2
P2
P2
P2
P2
P2
P2
P2
Divisin en Bloques I
n
p
n .
p
Divisin en Bloques II
Los pasos que sigue el algoritmo son:
1
2
Tp =
P1
n3
p
+ log pts + 2 n p tw
P1
P2
P3
P1
P2
P3
P4
P4
P2
P3
P1
P4
P2
P3
B
Gins David Guerrero Hernndez
P1
P2
P3
P4
P4
C
Algoritmos paralelos para la Multiplicacin de Matrices
Algoritmo de Cannon I
Algoritmo de Cannon II
1
2
Repetir
4
p 1 veces:
Tp =
n3
p
+ 2 pts + 2 n p tw
Ejemplo I
3
17
12
21
10
12
11
Paso 1
Paso 2
Paso 3
3
B
Gins David Guerrero Hernndez
C
Algoritmos paralelos para la Multiplicacin de Matrices
Ejemplo II
Paso 4
2
Paso 5
2
13
Ejemplo III
Paso 4
0
13
Paso 5
0
17
12
21
11
10
12
Algoritmo de Fox
En este algoritmo mantiene la filosofa del algoritmo anterior.
El algoritmo consiste en los siguientes pasos:
1
Repetir
2
p:
Tp =
n3
p
+ pts + 2 n p tw
Ejemplo I
3
17
12
21
10
12
11
Paso 1
Paso 2
Paso 3
3
B
Gins David Guerrero Hernndez
C
Algoritmos paralelos para la Multiplicacin de Matrices
Ejemplo II
Paso 4
3
Pasos 2 y 3
2
13
12
17
10
Ejemplo III
Paso 4
2
13
12
17
10
Pasos 2 y 3
0
17
12
21
11
10
12
Algoritmo DNS I
Algoritmo DNS II
El algoritmo, que puede ser observado grficamente en las
siguientes transparencias, est divido en las siguientes etapas:
1
2
3
5 n2
3 23 ts
p
Algoritmo DNS IV
Conclusiones
Se puede comprobar que hay gran cantidad de algoritmos
creados para realizar de manera lo ms ptima posible la
multiplicacin de matrices.
Adems de los algoritmos presentados hay muchos otros
(Arreglo Sistlico, Berntsen...).
Muchos de los algoritmos que nos podemos encontrar son
variaciones de los estudiados para adaptarlos a un tipo de
mquina paralela concreta.
Todos los algoritmos paralelos comparten caractersticas
comunes:
Adoptan el modelo de procesamiento SPMD.
Asumen que los nodos de procesamiento son homogneos y
aprovechan esta homogeneidad para obtener balance de carga.
Trabajo a realizar
Implementacin en OpenMP:
Algoritmo simple a partir del Algoritmo Secuencial.
Cannon vs Fox.
Simple vs Cannon.
Simple vs Fox.
Bibliografa