Multiplicación de matrices dispersas

Documentos relacionados
Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos

Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos

Paralelización de problemas de recorrido de árboles Trabajadores replicados y esquema maestro esclavo

Algoritmos en Árbol y Grafo Computación Pipeline

Paralelismo Relajado Paralelismo Síncrono

Divide y Vencerás Programación Dinámica

Maribel Martínez y Ginés Ciudad-Real Fichas para mejorar la atención MATRIZ DE LETRAS

Algoritmos paralelos para la Multiplicación de Matrices

TEST DE DETERMINANTES

Diseño de algoritmos paralelos

MATRICES DISPERSAS (Sparse) 1. FORMATO DE ALMACENAMIENTO DE MATRICES EN ARCHIVO MATRIX MARKET (MM)

TEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA

Paralelismo. MPI Paso de mensajes. Francisco García Sánchez Departamento de Informática y Sistemas

Programación en Memoria Compartida: OpenMP

ALN - Formatos dispersos. In. Co. Facultad de Ingeniería Universidad de la República

Multiplicación de Matrices en Sistemas cc-numa Multicore. Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas

Problema de las N Reinas. Resolución paralela

OpenMP. Qué es OpenMP?

ALGORITMOS Y PROGRAMACIÓN PARALELA. Esquemas de programación paralela

TEST DE MATRICES. Dadas A = (-3 4 1/2) y B = (1/3 0-2), cuál es el resultado de multiplicar la matriz A por la traspuesta de B?

1 Primitivas básicas de OpenMP

Determinantes. Concepto de determinante A cada matriz cuadrada A se le asigna un número denominado determinante de A, denotado por A o por det (A).

Relación de Ejercicios. Programación Paralela 4º de Grado en Ingeniería Informática.

Heterogénea y Jerárquica

GUÍA DE LA UNIDAD MATRICES Y DETERMINANTES

TEMA 2: PROGRAMACIÓN PARALELA (I)

Análisis de algoritmos paralelos

1 ÁLGEBRA DE MATRICES

Procesamiento Paralelo

CONTENIDOS MATEMÁTICAS II SEGUNDA EVALUACIÓN CURSO 2017/2018 MATRICES

Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Ejemplo:

,..., a 1n. ) y B. , a 12. A B a 11 b 11 a 12 b 21 a 1n b n1

Nociones básicas de computación paralela

EJERCICIOS RESUELTOS DE DETERMINANTES

1 SISTEMAS DE ECUACIONES LINEALES. MÉTODO DE GAUSS

Se llama adjunto de un elemento de una matriz A, al número resultante de multiplicar por el determinante de la matriz complementaria

3.2. Matrices Introducción Qué ocurre cuando el tipo base de un array es otro array? Mat =vector[ vector[1....4] de (vector[1..5] de enteros);

Programación I: Matrices - Arreglos bidimensionales

Tema 5. Matrices y Determinantes

Paralelización de Programas Secuenciales: OpenMP

Cómputo paralelo con openmp y C

El objetivo de este ejemplo es cargar 2 arrays aleatoriamente con Random y después mostrar la suma de esos arrays en un nuevo array.

23/10/14. Algebra Matricial $ $ ' ' ' $ & & & # # I 3 I 2 = 1 0 $ DEFINICION DE MATRIZ 2.1 CONCEPTOS DE MATRICES CONCEPTOS DE MATRICES. $ n. ! a.

MATRICES. 2º Bachillerato. Se llama matriz a una disposición rectangular de números reales, a los cuales se les denomina elementos de la matriz.

Operaciones de comunicación

Determinantes. Determinante de orden uno. a 11 = a 11 5 = 5

TEMA 5: PARALELISMO A NIVEL DE HILOS, TAREAS Y PETICIONES (TLP, RLP) (primera parte).

MATRICES Y DETERMINANTES II.

UNIDAD V: ARR R EGL G OS O BIDI D MENS N IONALE L S

Matrices 1. Se denomina matriz a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Las matrices Parte 1-2 o bachillerato

3.1. Diseño en Cuadrado Latino

Computación Matricial y Paralela

ALN - Formatos dispersos

Contenido. Dr. Marco Antonio Cruz Chávez (UAEM) Dr. Abelardo Rodríguez León (ITVer)

Tema 4: Determinantes

2.- TIPOS DE MATRICES

Librerías matriciales paralelas ScaLAPACK

MATRICES. Se denomina matriz de dimensión m n a todo conjunto cuyos elementos están dispuestos en m filas y n columnas. o simplemente A = (a.

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes.

Reduciendo el Ancho de Banda de Matrices Dispersas Simétricas con Algoritmos Genéticos

Capítulo 1 DETERMINANTES

Matemática 2 MAT022. Clase 1 (Complementos) Departamento de Matemática Universidad Técnica Federico Santa María. Matrices

Matrices. Una matriz es una forma de representar un conjunto de números que guardan una relación entre sí, dando un orden mediante filas y columnas.

ÁLGEBRA DE MATRICES TRASPUESTA DE UNA MATRIZ SUMA Y RESTA DE MATRICES

Apuntes. 2º Bachillerato Determinantes X.B. APUNTS DETERMINANTS. Definiciones Propiedades Ejercicios Resueltos. Prof. Ximo Beneyto

Paralelismo en la ordenación por mezcla

MATEMÁTICA LIC. Y PROF. EN CS. BIOLÓGICAS

MATRICES. Una matriz es un conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Paralelismo _Arquitectura de Computadoras IS603

Sistema de ecuaciones lineales. Expresión matricial. Matriz de los coeficientes 3 filas 3 columnas matriz 3 3. x y z

Determinantes. Primera definición. Consecuencias inmediatas de la definición

Fundamentos de Matemática Aplicada. (Prácticas)

Concepto de matriz Se denomina matriz a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

MATEMÁTICAS PARA ECONOMISTAS I MATRICES, DETERMINANTES Y SISTEMAS DE ECUACIONES

MATRICES Y DETERMINANTES DEFINICIÓN DE MATRIZ. TIPOS

CUESTIONES TEÓRICAS. Matemáticas II Curso

Transcripción:

Multiplicación de matrices dispersas Alumno: Irene Sánchez Linares

Índice Descripción del problema Representación Algoritmo secuencial Esquemas algorítmicos Elección del esquema OpenMP MPI Estudio experimental

Descripción del problema Una matriz dispersa es una matriz en la que la mayoría de sus elementos son nulos. Vamos a suponer que más del 80%. Tipos de matrices: Estructuradas No estructuradas Multiplicación de matrices: Sean A (n x l) y B (l x m) dos matrices, entonces cada elemento c ij de la matriz resultante se calcula como:

Representación Matriz completa. Esquema coordenado arrays de n elementos: elementos columnas filas ( row CSR (Compressed sparse arrays de n elementos: Elementos Columnas array de tamaño nº de filas: Filas fila(0) = 0; fila(i+) fila(i) = nº elementos en la fila i (... DNS, Muchos más... (CSC, DIA, BND,

Representación La matriz A en formato CSR La matriz B traspuesta y en formato CSR La matriz C: Secuencial: formato CSR Paralelo: formato coordenado

Algoritmo secuencial Es el mismo que para matrices densas pero adaptado. Sólo se multiplica cuando el segundo operando está en la misma fila que columna el primer operando. Se empieza una nueva columna cuando no quedan elementos en la fila de A o en la columna de B. 5

Algoritmo secuencial Es el mismo que para matrices densas pero adaptado. Sólo se multiplica cuando el segundo operando está en la misma fila que columna el primer operando. Se empieza una nueva columna cuando no quedan elementos en la fila de A o en la columna de B. 5

Algoritmo secuencial Es el mismo que para matrices densas pero adaptado. Sólo se multiplica cuando el segundo operando está en la misma fila que columna el primer operando. Se empieza una nueva columna cuando no quedan elementos en la fila de A o en la columna de B. 5 5

Algoritmo secuencial Es el mismo que para matrices densas pero adaptado. Sólo se multiplica cuando el segundo operando está en la misma fila que columna el primer operando. Se empieza una nueva columna cuando no quedan elementos en la fila de A o en la columna de B. 5 5

Algoritmo secuencial Es el mismo que para matrices densas pero adaptado. Sólo se multiplica cuando el segundo operando está en la misma fila que columna el primer operando. Se empieza una nueva columna cuando no quedan elementos en la fila de A o en la columna de B. 5 5

Algoritmo secuencial Es el mismo que para matrices densas pero adaptado. Sólo se multiplica cuando el segundo operando está en la misma fila que columna el primer operando. Se empieza una nueva columna cuando no quedan elementos en la fila de A o en la columna de B. 5 5

Algoritmo secuencial Es el mismo que para matrices densas pero adaptado. Sólo se multiplica cuando el segundo operando está en la misma fila que columna el primer operando. Se empieza una nueva columna cuando no quedan elementos en la fila de A o en la columna de B. 5 5

Esquemas algorítmicos Paralelismo de datos Particionado de datos en memoria distribuida Algoritmo relajado Bolsa de tareas

Elección del esquema: OpenMP Paralelismo de datos a) Repartir la matriz en bloques de filas/p filas. ( filas/p #pragma omp for private(i,j,s) schedule(static, b) Repartir la matriz en filas cíclicamente. ( schedule(static, #pragma omp for private(i,j,s) Mejora el balanceo de la carga respecto al anterior. ( b ( a

Elección del esquema: OpenMP Bolsa de tareas a) Repartir las filas de una en una dinámicamente ( dynamic ) #pragma omp for private(i,j,s) schedule b) Repartir bloques de m filas dinámicamente ( m #pragma omp for private(i,j,s) schedule (dynamic, Ventajas Gestión de la bolsa por parte de OpenMP Proporciona el mejor balanceo posible. Elegimos la bolsa de tareas

Elección del esquema: MPI Particionado de datos Cuántos elementos van a recibir? Depende a) Repartir en bloques de n/p filas. Desbalanceo de la carga. b) Repartir filas cíclicamente. Mejora el balanceo de la carga. Dificultad: distribución de los datos. ( b ( a

Elección del esquema: MPI Bolsa de tareas Ventajas: No empaquetar datos. Mejor balanceo. Inconvenientes: Más comunicaciones y con menos datos. Contención. Terminación: El test es global sincronización. Particionado de datos Bolsa de tareas

Estudio experimental Variando: nº de procesadores p el tamaño original de la matriz N N 000 000 p 8 6 el porcentaje E de elementos no nulos. 5000 E = %, 5%, 0%, 0% Se probará también con matrices estructuradas 0000 00000

Preguntas