SlideShare una empresa de Scribd logo
1 de 12
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
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.
   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]
   }
   }
   }
 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

DIAGRAMA
Grafica Tres aplicaciones en
paralelo
 1.2




  1




 0.8



                          Python
 0.6
                          C
                          Java

 0.4




 0.2




  0
       Inicio     Fin
Grafica de aplicaciones
secuenciales
0.0035



 0.003



0.0025



 0.002

                          Python

0.0015                    C



 0.001



0.0005



    0
         Inicio    Fin
Grafica en Python
 0.002


0.0018


0.0016


0.0014


0.0012


 0.001                    Secuencial
                          Paralelo
0.0008


0.0006


0.0004


0.0002


    0
         Inicio     Fin
Grafica C
0.007



0.006



0.005



0.004

                       Secuencial

0.003                  Paralelo



0.002



0.001



   0
        Inicio   Fin
Grafica Java
1.2




 1




0.8




0.6                  Secuencial
                     Paralelo


0.4




0.2




 0
      Inicio   Fin
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
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.

Más contenido relacionado

Similar a Actividad 4

Aprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroAprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroDiego Caceres
 
Aprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroAprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroDiego Caceres
 
Matlab70primero 090425003351-phpapp02
Matlab70primero 090425003351-phpapp02Matlab70primero 090425003351-phpapp02
Matlab70primero 090425003351-phpapp02Eduard Basiana
 
Aprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroAprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroDiego Caceres
 
Manual de Matlab desde primero
Manual de Matlab desde primeroManual de Matlab desde primero
Manual de Matlab desde primeroMaria Lopez
 
Matlab en ingenieria
Matlab en ingenieriaMatlab en ingenieria
Matlab en ingenieriaFranck Campos
 
Brazo
BrazoBrazo
Brazoroger
 
Workshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusWorkshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusJeisson Saavedra
 

Similar a Actividad 4 (20)

Tutorial de matlab 7.0
Tutorial de matlab 7.0Tutorial de matlab 7.0
Tutorial de matlab 7.0
 
matlab 7.0
matlab 7.0matlab 7.0
matlab 7.0
 
Aprenda matlab 7_como_si_estuviera_en_primero
Aprenda matlab 7_como_si_estuviera_en_primeroAprenda matlab 7_como_si_estuviera_en_primero
Aprenda matlab 7_como_si_estuviera_en_primero
 
Aprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroAprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primero
 
Matlab70primero
Matlab70primeroMatlab70primero
Matlab70primero
 
Matlab manual
Matlab manualMatlab manual
Matlab manual
 
Matlabprimero
MatlabprimeroMatlabprimero
Matlabprimero
 
Aprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroAprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primero
 
Matlab70primero 090425003351-phpapp02
Matlab70primero 090425003351-phpapp02Matlab70primero 090425003351-phpapp02
Matlab70primero 090425003351-phpapp02
 
Aprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primeroAprenda mat lib-como-si-estuviera-en-primero
Aprenda mat lib-como-si-estuviera-en-primero
 
Manual de Matlab desde primero
Manual de Matlab desde primeroManual de Matlab desde primero
Manual de Matlab desde primero
 
Matlab en ingenieria
Matlab en ingenieriaMatlab en ingenieria
Matlab en ingenieria
 
Matlab70primero
Matlab70primeroMatlab70primero
Matlab70primero
 
Matlab
MatlabMatlab
Matlab
 
Brazo
BrazoBrazo
Brazo
 
Workshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusWorkshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteus
 
Sesion 02 NXT
Sesion 02 NXTSesion 02 NXT
Sesion 02 NXT
 
Contador
ContadorContador
Contador
 
secuencia4display.pdf
secuencia4display.pdfsecuencia4display.pdf
secuencia4display.pdf
 
Manual octave
Manual octaveManual octave
Manual octave
 

Actividad 4

  • 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 
  • 6. Grafica Tres aplicaciones en paralelo 1.2 1 0.8 Python 0.6 C Java 0.4 0.2 0 Inicio Fin
  • 7. Grafica de aplicaciones secuenciales 0.0035 0.003 0.0025 0.002 Python 0.0015 C 0.001 0.0005 0 Inicio Fin
  • 8. Grafica en Python 0.002 0.0018 0.0016 0.0014 0.0012 0.001 Secuencial Paralelo 0.0008 0.0006 0.0004 0.0002 0 Inicio Fin
  • 9. Grafica C 0.007 0.006 0.005 0.004 Secuencial 0.003 Paralelo 0.002 0.001 0 Inicio Fin
  • 10. Grafica Java 1.2 1 0.8 0.6 Secuencial Paralelo 0.4 0.2 0 Inicio Fin
  • 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.