Integrantes: Germán Hüttemann Marcelo Rodas

Slides:



Advertisements
Presentaciones similares
Diseño y análisis de algoritmos
Advertisements

II. ARQUITECTURAS PARALELAS
Exposición: Clustering
Introducción a los Algoritmos
Grupo 4 Matías Melgar Pablo Carbonell
Fundamentos de la Gestión de Proyectos
MROGINSKI, Javier L. – BENEYTO, Pablo A. –
MÓDULO DE BÚSQUEDA DE PERSONAS DENTRO DE UNA BASE DE DATOS DE ROSTROS
Generador de Mallas Triangulares.
Investigación algorítmica
On Line Analytical Processing
Sindy Carolina Asprilla
Profesor: Miguel Angel Vidal
Direcciones físicas y direcciones virtuales (lógicas)
José Alvear Cervantes ELABORACIÓN Y ANÁLISIS DE MÉTRICAS PARA EL PROCESO DE DESARROLLO DE SOFTWARE, “PARA EMPRESAS ECUATORIANAS DESARROLLADORAS.
Maracaibo, 5 de Noviembre de 2007 Universidad del Zulia Facultad de Ingeniería Instituto de Cálculo Aplicado Universidad del Zulia Facultad de Ingeniería.
UNIDAD I Conceptos Básicos.
Tema 10: Gestión de Memoria
Sistemas Operativos Procesos.
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
- Artículo Científico -
10 ideas Clave. Evaluar para aprender Neus Sanmartí

INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Algoritmos de búsqueda
CC3001 Algoritmos y Estructuras de Datos
Sistemas Concurrentes: programación concurrente
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
Teoría de Colas.
Programación Avanzada.  Del tema seleccionado por cada equipo, realizar un programa que realice la simulación de dicho tema, usando hilos y Visual Studio.
Parte II. Algorítmica. 4. Programación dinámica.
Seminario de Titulación (9) Mtra. Marcela Alvarez.
Procesamiento de Imágenes digitales
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
Análisis y Diseño de Algoritmos
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Telecomunicaciones y Trabajo Distribuido. Sistema Distribuido Recursos Servidor Red Servidor Nodo ANodo C Nodo B.
Administración LOGÍSTICA
SIG. LAURA VELAZQUEZ MORELOS. Hace referencia a un refrán que implica resolver un problema difícil, dividiéndolo en partes más simples tantas veces como.
Multiplicación de matrices
Universidad Nacional de Asunción.
Parte I. Estructuras de Datos.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
EVALUACIÓN DE LOS SISTEMAS Ing. José Manuel Poveda.
Fracciones.
Matrices rango de una matriz
Resolución de Sistemas Lineales
Un proceso ligero (thread o hebra) es un programa en ejecución que comparte la imagen de la memoria y otras informaciones con otros procesos ligeros.
Escuela de Ciencias Basicas, Tecnología e Ingeniería
FUNCIONES DE UN SISTEMA DE PROTECCION Por: Juan Giovanny Lima González.
Asignatura: Trabajo de Titulación Ingenierías (PIESC-PIECII).
ALGORITMOS PARALELOS DE MULTIPLICACIÓN DE MATRICES
Inteligencia Artificial
Realizar encuestas. ¿Qué son las encuestas? Una manera de recolectar información que se espera represente los puntos de vista de un grupo en el cual se.
Carlos Alberto Rivera Cruz. Diana Sánchez Partida.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
E.S.E Hospital San Rafael de Tunja
Cómo escribir un informe de investigación
FUNDAMENTOS DE PROGRAMACIÓN Unidad II. Un array bidimensional o matriz es un conjunto de datos homogéneos (todos del mismo tipo), cada uno de los cuales.
Multiplicación como suma reiterada.
Un Método Cuantitativo podría definirse como aquellos modelos matemáticos puesto al servicio de los procesos de resolución de problemas de un modo racional.
Lic Gari E. URQUIZO SOLIS Administració n LOGÍSTICA.
JUSTIFICACIÓN DEL PROBLEMA DE INVESTIGACIÓN.
Universidad Abierta y a Distancia de México Administración y Gestión de Pymes Docente en Línea: Armando Sensed Matías Asignatura: Fundamentos de Investigación.
ES TIEMPO DE LA MATEMÁTICA. INTRODUCCIÓN TAREA PROCESO RECURSOS EVALUACIÓN CONCLUSIÓN.
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
ACTIVIDADES DE APRENDIZAJE. ABCFHOEPRIAUDTCDAFDAHOELBADTAQTU PERYUIAETNEDNECSEDAUFHVCMNXAOSOS RSZXVGSDACAAERYFNIAEFGFGSAROPARA OQANALSISZAPATERASECUENCIATRTAXZ.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Matrices ¿Qué es una matriz? ¿Qué es una matriz? ¿Qué es una matriz? ¿Qué es una matriz? Su Estructura Su Estructura Su Estructura Su Estructura Propiedades.
Transcripción de la presentación:

Integrantes: Germán Hüttemann Marcelo Rodas Implementación de Algoritmos de Multiplicación de Matrices Densas utilizando hilos y memoria compartida Integrantes: Germán Hüttemann Marcelo Rodas

Resumen Motivación. Descripción del Problema. Descripción de la Implementación Secuencial. Descripción de la Implementación 1-D. Descripción de la Implementación 2-D. Resultados Obtenidos. Conclusiones. Trabajos Futuros.

Motivación Multiplicación de Matrices (Ejemplo base). Permite Analizar: Fundamentos de la Paralelización. Resolución de problemas difíciles. Puesta en Práctica de la Teoría.

Descripción del Problema Multiplicación de Matrices. A1,1 A1,2 … A1,N B1,1 B1,2 B1,R C1,1 C1,2 C1,R A2,1 A2,2 A2,N x B2,1 B2,2 B2,R = C2,1 C2,2 C2,R AM,1 AM,2 AM,N BN,1 BN,2 BN,R CM,1 CM,2 CM,R

Implementación Secuencial Costo: O(N3). desde i = fila_inicial hasta (fila_inicial + cantidad_filas) desde j = colum_inicial hasta (colum_inicial + cantidad_columnas) C[i,j] = 0 desde k = 1 hasta (cantidad_filas_de_A o cantidad_columnas_de_B) C[i,j] = C[i,j] + A[i,k] * B[k,j] fin-desde

Implementación 1-D Costo: O(N3/P). Cantidad de Hilos: 4 A1,1 A1,2 A1,3 B1,1 B1,2 B1,3 B1,4 P1 A2,1 A2,2 A2,3 A2,4 x B2,1 B2,2 B2,3 B2,4 = P2 A3,1 A3,2 A3,3 A3,4 B3,1 B3,2 B3,3 B3,4 P3 A4,1 A4,2 A4,3 A4,4 B4,1 B4,2 B4,3 B4,4 P4 A5,1 A5,2 A5,3 A5,4

Implementación 2-D Costo: O(N3/P). Cantidad de Hilos: 4. A1,1 A1,2 B1,1 B1,2 B1,3 B1,4 B1,5 C1 C2 A2,1 A2,2 A2,3 A2,4 X B2,1 B2,2 B2,3 B2,4 B2,5 = A3,1 A3,2 A3,3 A3,4 B3,1 B3,2 B3,3 B3,4 B3,5 C3 C4 A4,1 A4,2 A4,3 A4,4 B4,1 B4,2 B4,3 B4,4 B4,5 A5,1 A5,2 A5,3 A5,4

Resultados (1)

Resultados (2)

Resultados (3)

Resultados (4)

Resultados (5)

Resultados (6)

Resultados (7)

Resultados (8)

Resultados (8)

Resultados (9)

Resultados (10)

Resultados (11)

Conclusiones Nivel de concurrencia está fuertemente ligado al hardware. Con el aumento de los hilos se aumenta la aceleración aproximadamente en la misma proporción.

Trabajo Futuro Encontrar hasta que punto el número de hilos creados sigue sin afectar significativamente al tiempo de ejecución del algoritmo. Plantear un método más eficiente para la asignación de filas y columnas sobrantes. Variedad de tamaños de matrices. Administración razonable de la memoria (matrices grandes)

Gracias por la Atención ¿Preguntas? Gracias por la Atención