Comparação da Variabilidade de Tempo em Diferentes Algoritmos de Multiplicação de Matrizes utilizando Paralelização e Divisão e Conquista

  • Victor H. de Oliveira UTFPR
  • Rogério Aparecido Gonçalves UTFPR
  • João Fabrício Filho UTFPR

Resumo


A multiplicação de matrizes é uma aplicação comum no âmbito computacional. O objetivo deste trabalho é comparar abordagens distintas de implementação da multiplicação de matrizes em relação ao tempo de execução. São abordadas as técnicas de alocação dinâmica, estática, emprego de blocking matricial e paralelização com múltiplas threads. A estratégia envolvendo blocking implementada juntamente com paralelização alcançou ganhos de desempenho 75, 12% maiores do que a abordagem sequencial de multiplicação matricial e 4, 5% mais rápida do que a execução paralela sem o emprego de blocking.

Referências

Huss-Lederman, S., Jacobson, E. M., Tsao, A., Turnbull, T., and Johnson, J. R. (1996). Implementation of strassen’s algorithm for matrix multiplication. In Supercomputing, USA. IEEE Computer Society.

Pacheco, P. S. (2011). An Introduction to Parallel Programming. Morgan Kaufmann Publishers.

Supriya P. Mali, Sonali Dohe, P. R. (2019). Memory management techniques: Static and dynamic memory allocation. International Journal of Current Engineering and Technology, 9(1):92–94.
Publicado
16/05/2024
OLIVEIRA, Victor H. de; GONÇALVES, Rogério Aparecido; FABRÍCIO FILHO, João. Comparação da Variabilidade de Tempo em Diferentes Algoritmos de Multiplicação de Matrizes utilizando Paralelização e Divisão e Conquista. In: ESCOLA REGIONAL DE ALTO DESEMPENHO DE SÃO PAULO (ERAD-SP), 15. , 2024, Rio Claro/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 61-64. DOI: https://doi.org/10.5753/eradsp.2024.239870.