Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)

dc.creatorLucas Pantuza Amorim
dc.date.accessioned2020-03-12T17:29:15Z
dc.date.accessioned2025-09-09T00:41:15Z
dc.date.available2020-03-12T17:29:15Z
dc.date.issued2019-12-04
dc.description.abstractThis work presents an end-to-end massively parallelized procedure for the solution of boundary value problems on Graphics Processing Units (GPU). The proposal is an integrated strategy that not only entails the calculation of nodal contributions, and the stiffness matrix assembly using the Meshless Local Petrov Galerkin Method (MLPG) but also the iterative solution of the system of algebraic equations in combination with methods from the Conjugate Gradient (CG) family. The most important contribution is a complete end-to-end MLPG implementation in GPU taking full advantage of the device's Single Instruction Multiple Thread (SIMT) architecture. From initial calculations to solution delivery for the problem addressed, the integrated steps are computed exclusively in the GPU to avoid costs related to data movement and conversion. The proposed solution takes advantage of the parallel nature of the MLPG by holding each cloud node in a thread on the device, until the final computation of the last process step is completed with subsequent delivery of the values of interest to the respective cloud nodes. Thus minimal auxiliary structures and few synchronization points are required. Different solution variations are tested to assess the effective impact on the GPU, supporting more accurate decisions. Among others, the tests include variations on the initial node position in the domain, the MLPG form function techniques and four different solvers of the Conjugate Gradient family, namely: (i) BiConjugate Gradients - BICG, (ii) Quadratic Conjugate Gradients - CGS, (iii) BiConjugate Gradients Stabilized - BICG-Stab and (iv) BiConjugate Gradients Enhanced - I-BICG-Stab. To evaluate the solution viability and performance metrics, the two parallel plate capacitor problem is used. Despite the simplicity of the problem, the application of the proposed algorithms to more complex problems is straightforward, and a sevenfold speedup is observed in the end-to-end solution. This number can be even more significant with cloud node growth during domain discretization.
dc.description.sponsorshipCAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
dc.identifier.urihttps://hdl.handle.net/1843/32868
dc.languagepor
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.rights.urihttp://creativecommons.org/licenses/by-nc/3.0/pt/
dc.subjectEngenharia elétrica
dc.subjectEletromagnetismo
dc.subject.otherGPU
dc.subject.otherMétodo sem malha
dc.subject.otherMLPG
dc.subject.otherSolucionador
dc.titleSolução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
dc.typeTese de doutorado
local.contributor.advisor1Renato Cardoso Mesquita
local.contributor.advisor1Latteshttp://lattes.cnpq.br/7452085194074257
local.contributor.referee1Ricardo Luiz da Silva Adriano
local.contributor.referee1Renato Antônio Celso Ferreira
local.contributor.referee1Marcio Matias Afonso
local.contributor.referee1Eduardo Henrique da Rocha Coppoli
local.contributor.referee1Alexandre Ramos Fonseca
local.creator.Latteshttp://lattes.cnpq.br/2859269540331865
local.description.resumoEste trabalho apresenta um procedimento massivamente paralelo ponta a ponta para a solução de problemas de valor de contorno em unidades de processamento gráfico (graphics processing units - GPU). A proposta é uma estratégia integrada que envolve não apenas o cálculo das contribuições nodais e a montagem da matriz de rigidez usando o método Meshless Local Petrov Galerkin (MLPG), mas também a solução iterativa do sistema de equações algébricas com o uso dos métodos da família dos Gradientes Conjugados (CG). A contribuição mais importante é o MLPG ponta a ponta em GPU implementado e tirando proveito máximo da arquitetura SIMT (Single Instruction Multiple Thread) do dispositivo. Desde os cálculos iniciais até a entrega da solução para o problema tratado, as etapas integradas são computadas exclusivamente na GPU para evitar custos relacionados à movimentação e conversão de dados. A solução proposta usa a natureza substancialmente paralela do MLPG mantendo cada nó da nuvem em uma thread no dispositivo, permanecendo desta forma até a finalização da computação da última etapa do processo com subsequente entrega dos valores de interesse nos respectivos nós da nuvem. Dessa maneira, são necessárias estruturas auxiliares mínimas e poucos pontos de sincronização. Variações da solução são testadas para avaliar o impacto efetivo na GPU, suportando decisões mais precisas. Entre o que é testado estão o posicionamento inicial dos nós no domínio, as técnicas de funções de forma do MLPG e quatro solvers diferentes da família dos Gradientes Conjugados, sendo eles: (i) Gradientes BiConjugados - BICG, (ii) Gradientes Conjugados Quadrático - CGS, (iii) Gradientes BiConjugados Estabilizado - BICG-Stab e (iv) Gradientes BiConjugados Estabilizado Aprimorado - I-BICG-Stab. Para avaliar a viabilidade da solução e as métricas de desempenho, é utilizado o problema do capacitor de duas placas paralelas. Apesar da simplicidade do problema, os algoritmos são os mesmos usados para problemas complexos, e foi observado um speedup de sete vezes na solução completa. Este valor pode ser ainda mais expressivo com o crescimento do número de nós da nuvem durante a discretização de domínio.
local.identifier.orcidhttps://orcid.org/0000-0002-7353-1254
local.publisher.countryBrasil
local.publisher.departmentENG - DEPARTAMENTO DE ENGENHARIA ELÉTRICA
local.publisher.initialsUFMG
local.publisher.programPrograma de Pós-Graduação em Engenharia Elétrica

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
_LucasPantuzaAmorim_tese.pdf
Tamanho:
3.01 MB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.07 KB
Formato:
Plain Text
Descrição: