Dissertação

Library of Matrix Functions on GPUs EVALUATED

Funções de matrizes têm um papel de elevada importância em variadas áreas, como por exemplo no ramo das redes complexas. No entanto, um dos problemas mais recorrentes é a sua necessidade de comunicação entre as variadas tarefas, o que torna estes métodos inadequados para paralelização. Neste relatório, irá ser realizada uma análise às atuais implementações de funções de matrizes, de maneira a perceber o como implementar uma livraria destas funções. Para fazer isto, métodos tradicionais como os diretos e iterativos, tais como Monte Carlo irão ser avaliados em relação à matriz inversa. O objetivo desta avaliação é determinar qual destes métodos permitirá uma implementação GPU mais eficiente. O método escolhido é um método de Monte Carlo, devido à sua paralelização trivial e falta de necessidade de comunicação entre as variadas tarefas. Assim sendo, este método apresenta-se como sendo uma ótima escolha para uma implementação GPU, visto alinhar-se com a sua arquitetura SIMD, em que cada tarefa corre a mesma instrução com dados diferentes. Desta análise, também é feito um caso para a utilização de um formato de armazenamento CSR para acomodar matrizes esparsas.
Funções matrizes, Algoritmo paralelizável, CUDA, SIMD, Monte Carlo

novembro 14, 2022, 16:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

José Carlos Alves Pereira Monteiro

Departamento de Engenharia Informática (DEI)

Professor Catedrático

ORIENTADOR

Juan Antonio Acebrón Torres

ISCTE

Professor Auxiliar