Use este identificador para citar ou linkar para este item:
https://repositorio.ufba.br/handle/ri/39304
Tipo: | Tese |
Título: | Solução de sistemas lineares de grande porte e computação de alto desempenho |
Título(s) alternativo(s): | Solution for large linear systems and high performance computing |
Autor(es): | Ariza Ariza, Cristian David |
Primeiro Orientador: | Porsani, Milton José |
metadata.dc.contributor.referee1: | Porsani, Milton José |
metadata.dc.contributor.referee2: | Bassrei, Amin |
metadata.dc.contributor.referee3: | Santos, Peterson Nogueira |
metadata.dc.contributor.referee4: | Oliveira, Saulo Pomponet |
metadata.dc.contributor.referee5: | Oliveira, Sérgio Adriano Moura |
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. |
Abstract: | This work describes a method for solving large, positive-defined, block-structured, dense linear systems with multiple right-hand sides that uses high-performance parallel computing. The system solution is obtained through a generalized Levinson recursion that uses the linear combination of smaller forward and backward solutions associated with lower order subsystems. The new implementation is described for parallel computing and is based on a partitioned matrix algorithm. The algorithm was separated into two subroutines, the first that computes the backward solution and the error energy matrix for smaller orders, and the second that computes the solution recursively. The algorithm was implemented for three types of systems: shared memory systems, distributed memory systems, and GPU systems. In each case, the lowest order systems were calculated using appropriate libraries. In the first, the OpenBLAS or MKL library was used; in the second, SCALAPACK; and finally, for systems with GPUs, we implemented an OUT-OF-CORE algorithm, in which the lowest order systems were calculated using MAGMA. In all three cases, the final solution is compared with the complete system solution using LAPACK, SCALAPACK, and MAGMA, respectively. In all three cases, the first part of the algorithm proved to be more computationally expensive compared to the Cholesky decomposition. However, the second part that computes the solution proved to be more efficient than the successive solution of two triangular systems when the right side of the system has a significant size, generally a few times the value of N. The error in the estimated model does not present significant variations compared to the reference solution. Finally, we present the use of the algorithm in frequency-domain seismic wave modeling, which involves the solution of large, sparse linear systems. These results show a disadvantage of the algorithm in sparse non-Toeplitz systems, as it increases the computational cost and memory consumption. |
Palavras-chave: | Sistemas lineares Computação Modelagem Computação de alto desempenho Processamento paralelo (Computadores) |
CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA CNPQ::CIENCIAS EXATAS E DA TERRA::GEOCIENCIAS CNPQ::CIENCIAS EXATAS E DA TERRA::GEOCIENCIAS::GEOFISICA CNPQ::CIENCIAS EXATAS E DA TERRA::GEOCIENCIAS::GEOFISICA::GEOFISICA APLICADA |
Idioma: | por |
País: | Brasil |
Editora / Evento / Instituição: | Universidade Federal da Bahia |
Sigla da Instituição: | UFBA |
metadata.dc.publisher.department: | Instituto de Geociências |
metadata.dc.publisher.program: | Pós-Graduação em Geofísica (PGEOF) |
Citação: | ARIZA ARIZA, Cristian David. Solução de sistemas lineares de grande porte e computação de alto desempenho. 2024. 164 f. Tese (Doutorado em Geofísica) Instituto de Geociências, Universidade Federal da Bahia, Salvador, Ba, 2024. |
Tipo de Acesso: | Acesso Aberto |
URI: | https://repositorio.ufba.br/handle/ri/39304 |
Data do documento: | 15-Jan-2024 |
Aparece nas coleções: | Tese (PGGEOFISICA) |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Cristian David Ariza Ariza_Tese doutorado.pdf | Tese doutorado | 3,47 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.