A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Paralelização do algoritmo de Strassen

Apresentações semelhantes


Apresentação em tema: "Paralelização do algoritmo de Strassen"— Transcrição da apresentação:

1 Paralelização do algoritmo de Strassen
paralela e Felipe L. Severino Projeto de Programas Paralelos para Processamento de Alto Desempenho

2 Sumário Introdução: multiplicação de matrizes; Strassen; Winograd; Análise sequencial; Análise paralela; Otimização da análise paralela; Trabalhos futuros.

3 Multiplicação de Matrizes
Operação básica em computação científica; Algoritmo trivial de multiplicação de matrizes consiste em três laços:

4 Algoritmo de Strassen Primeiro algoritmo para multiplicação de matrizes a ter complexidade < Θ(n³); Efetua, recursivamente, 7 multiplicações e Θ(n²) adições e subtrações; Algoritmo original: 7 multiplicações e 18 adições/subtrações;

5 Algoritmo de Strassen Phase 1 Phase 2 Phase 3 Phase 4

6 Algoritmo de Winograd Também chamado de Strassen-Winograd; Variação do Strassen tradicional; Utiliza 7 multiplicações e 15 adições/subtrações;

7 Algoritmo de Winograd

8 Complexidade sequencial:
Análise Sequencial Complexidade sequencial: T(n)=7T(n/2)+ Θ(n²); =Θ(nlg 7); =Θ(n2,81); Melhor que algoritmo clássico para matrizes grandes; Problema com utilização de memória;

9 Complexidade paralela
Análise Paralela Complexidade paralela Utilizando-se n2,81 processadores P = n2,81 Obtém-se o tempo de execução T = log(n); O custo desta paralelização é C = n2,81 * log(n); Maior do que o custo sequencial.

10 Otimização da análise paralela
Complexidade paralela Diminuindo-se o número de processadores para P = n2,81 / log(n) Cada processador irá executar a multiplicação de pacotes de tamanho log(n); Obtém-se o tempo T = log(n)+log(n2,81 / log(n)) ≈ log(n) T = log(n) E o custo C = n2,81 / log(n) * log(n) = n2,81 Equivalente ao sequencial;

11 Definição do ponto de corte
Tabela de logarítmos Para matrizes de 8196, a recursão será parada quando os blocos estiverem na ordem de 13 (13x13); Tamanho da matriz Log 64 6 128 7 256 8 512 9 1024 10 2048 11 4096 12 8192 13 16384 14 32768 15 65536 16 131072 17 262144 18 524288 19 20

12 Ponto de Corte – Trabalhos passados

13 Análise comparativa entre pontos de corte;
Trabalhos futuros Desenvolvimento de um programa paralelo divisão e conquista do algoritmo de strassen; Análise comparativa entre pontos de corte; Comparativo com algoritmos desenvolvidos semestre passado;

14 Paralelização do algoritmo de Strassen
paralela e Felipe L. Severino Projeto de Programas Paralelos para Processamento de Alto Desempenho


Carregar ppt "Paralelização do algoritmo de Strassen"

Apresentações semelhantes


Anúncios Google