Solução de sistemas lineares de grande porte e computação de alto desempenho

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: Ariza Ariza, Cristian David lattes
Orientador(a): Porsani, Milton José lattes
Banca de defesa: Porsani, Milton José lattes, Bassrei, Amin lattes, Santos, Peterson Nogueira lattes, Oliveira, Saulo Pomponet lattes, Oliveira, Sérgio Adriano Moura lattes
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal da Bahia
Programa de Pós-Graduação: Pós-Graduação em Geofísica (PGEOF) 
Departamento: Instituto de Geociências
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufba.br/handle/ri/39304
Resumo: Este trabalho descreve um método de solução de sistemas lineares densos de grande porte, positivo definido e bloco-estruturado, com múltiplos lados direitos, que utiliza computação paralela de alto desempenho. A solução do sistema é obtida através da recursão de Levinson generalizada que utiliza a combinação linear de soluções menores, direta e reversa, associadas aos subsistemas de menor ordem. A nova implementação é descrita para computação paralela e baseada em um algoritmo de matriz particionada. O algoritmo foi separado em duas sub-rotinas, a primeira que calcula a solução reversa e a matriz da energia dos erros para as ordens menores, e a segunda que calcula a solução recursivamente. O algoritmo foi implementado para três tipos de sistemas: sistemas de memória compartilhada, memória distribuída e para sistemas com GPU. Em cada caso os sistemas de menor ordem foram calculados usando bibliotecas apropriadas. No primeiro, foi utilizada a biblioteca OpenBLAS ou MKL, no segundo SCALAPACK e finalmente para sistemas com GPU implementamos um algoritmo OUT-OF-CORE, no qual os sistemas de menor ordem foram calculados utilizando MAGMA. Nos três casos, a solução final é comparada com a solução completa do sistema utilizando LAPACK, SCALAPACK e MAGMA, respectivamente. Nos três casos, a primeira parte do algoritmo mostrou-se mais dispendiosa computacionalmente, comparada à decomposição de Cholesky. Porém a segunda parte que calcula a solução, mostrou-se mais eficiente que a solução sucessiva de dois sistemas triangulares, quando o lado direito do sistema possui um tamanho significativo, geralmente algumas vezes o valor de N. O erro no modelo estimado não apresenta variações significativas comparado com a solução de referência. Finalmente, apresentamos a utilização do algoritmo na modelagem de ondas sísmicas no domínio da frequência, que envolve a solução de grandes sistemas lineares esparsos. Estes resultados mostram uma desvantagem do algoritmo em sistemas esparsos não Toeplitz, já que aumenta o custo computacional e o consumo de memória.