1. Equipo 2
1465105 Carlos Santiago Serrano Ramirez
1441938 Alfonso Manuel Aguilar Leyva
1447717 Ricardo Joan Garza Reyna
1488566 David Stefano muñoz Benavides
ACTIVIDAD 4
2. MULTIPLICACION DE MATRIZ
Por simplicidad, todo el tiempo trabajaremos
con matrices cuadradas de tamaño n x n.
Consideramos que el número de
procesadores de los que disponen las
máquinas paralelas es p.
Las matrices a multiplicar serán A y B, ambas
tratadas como matrices densas , el resultado
lo almacenaremos en la matriz C.
3. Básicamente está formado por tres bucles for.
Código
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]
}
}
}
4. Algunas Técnicas básicas en las que nos
basaremos para la creación de
un algoritmo paralelo.
Divide and Conquer(Divide y Vencerás):
1. Dividir.- Dividir el problema original en
subproblemas mas pequeñas que serán
mas fáciles de realizar.
2. Vencerás.- Resolver los subproblemas
3. Unir.- Combinar las soluciones
11. Conclusiones
Los tiempos de ejecución de cada lenguaje
varia según la maquina en la que se ejecute y
el lenguaje en este caso de nuestra aplicación
en paralelo la aplicación que tardo menos
tiempo que en c y en java
12. Conclusiones
Lenguajes como Java y Python se ejecutan en
una maquina virtuales.
En este caso la creación de hilos toma su
tiempo.
Maquinas con un solo núcleo ejecutan un hilo
a la ves.