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

Detalhes bibliográficos
Autor(a) principal: Lucas Pantuza Amorim
Data de Publicação: 2019
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da UFMG
Texto Completo: http://hdl.handle.net/1843/32868
https://orcid.org/0000-0002-7353-1254
Resumo: Este 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.
id UFMG_13b1223d9c55cd63ff49f615cf78913a
oai_identifier_str oai:repositorio.ufmg.br:1843/32868
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Renato Cardoso Mesquitahttp://lattes.cnpq.br/7452085194074257Ricardo Luiz da Silva AdrianoRenato Antônio Celso FerreiraMarcio Matias AfonsoEduardo Henrique da Rocha CoppoliAlexandre Ramos Fonsecahttp://lattes.cnpq.br/2859269540331865Lucas Pantuza Amorim2020-03-12T17:29:15Z2020-03-12T17:29:15Z2019-12-04http://hdl.handle.net/1843/32868https://orcid.org/0000-0002-7353-1254Este 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.This 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.CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorporUniversidade Federal de Minas GeraisPrograma de Pós-Graduação em Engenharia ElétricaUFMGBrasilENG - DEPARTAMENTO DE ENGENHARIA ELÉTRICAhttp://creativecommons.org/licenses/by-nc/3.0/pt/info:eu-repo/semantics/openAccessEngenharia elétricaEletromagnetismoGPUMétodo sem malhaMLPGSolucionadorSolução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8920https://repositorio.ufmg.br/bitstream/1843/32868/2/license_rdf33b8016dc5c4681c1e7a582a4161162cMD52ORIGINAL_LucasPantuzaAmorim_tese.pdf_LucasPantuzaAmorim_tese.pdfapplication/pdf3151267https://repositorio.ufmg.br/bitstream/1843/32868/4/_LucasPantuzaAmorim_tese.pdfc72f9850db2499c9004b45b49e4ae7b5MD54LICENSElicense.txtlicense.txttext/plain; charset=utf-82119https://repositorio.ufmg.br/bitstream/1843/32868/5/license.txt34badce4be7e31e3adb4575ae96af679MD55TEXT_LucasPantuzaAmorim_tese.pdf.txt_LucasPantuzaAmorim_tese.pdf.txtExtracted texttext/plain203086https://repositorio.ufmg.br/bitstream/1843/32868/6/_LucasPantuzaAmorim_tese.pdf.txta9fa544524ca7e857fc806df81730901MD561843/328682020-03-13 03:41:45.514oai:repositorio.ufmg.br:1843/32868TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEgRE8gUkVQT1NJVMOTUklPIElOU1RJVFVDSU9OQUwgREEgVUZNRwoKQ29tIGEgYXByZXNlbnRhw6fDo28gZGVzdGEgbGljZW7Dp2EsIHZvY8OqIChvIGF1dG9yIChlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSBhbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIChSSS1VRk1HKSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZSBpcnJldm9nw6F2ZWwgZGUgcmVwcm9kdXppciBlL291IGRpc3RyaWJ1aXIgYSBzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW8uCgpWb2PDqiBkZWNsYXJhIHF1ZSBjb25oZWNlIGEgcG9sw610aWNhIGRlIGNvcHlyaWdodCBkYSBlZGl0b3JhIGRvIHNldSBkb2N1bWVudG8gZSBxdWUgY29uaGVjZSBlIGFjZWl0YSBhcyBEaXJldHJpemVzIGRvIFJJLVVGTUcuCgpWb2PDqiBjb25jb3JkYSBxdWUgbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGTUcgcG9kZSBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIGRlIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBmaW5zIGRlIHNlZ3VyYW7Dp2EsIGJhY2stdXAgZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogZGVjbGFyYSBxdWUgYSBzdWEgcHVibGljYcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIHZvY8OqIHRlbSBvIHBvZGVyIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRlIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHB1YmxpY2HDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvIGRhIHB1YmxpY2HDp8OjbyBvcmEgZGVwb3NpdGFkYS4KCkNBU08gQSBQVUJMSUNBw4fDg08gT1JBIERFUE9TSVRBREEgVEVOSEEgU0lETyBSRVNVTFRBRE8gREUgVU0gUEFUUk9Dw41OSU8gT1UgQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgRVhJR0lEQVMgUE9SIENPTlRSQVRPIE9VIEFDT1JETy4KCk8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lKHMpIG91IG8ocykgbm9tZXMocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KCg==Repositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2020-03-13T06:41:45Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.pt_BR.fl_str_mv Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
title Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
spellingShingle Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
Lucas Pantuza Amorim
GPU
Método sem malha
MLPG
Solucionador
Engenharia elétrica
Eletromagnetismo
title_short Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
title_full Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
title_fullStr Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
title_full_unstemmed Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
title_sort Solução ponta a ponta em GPU do método sem malha local Petrov-Galerkin (MLPG)
author Lucas Pantuza Amorim
author_facet Lucas Pantuza Amorim
author_role author
dc.contributor.advisor1.fl_str_mv Renato Cardoso Mesquita
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/7452085194074257
dc.contributor.referee1.fl_str_mv Ricardo Luiz da Silva Adriano
dc.contributor.referee2.fl_str_mv Renato Antônio Celso Ferreira
dc.contributor.referee3.fl_str_mv Marcio Matias Afonso
dc.contributor.referee4.fl_str_mv Eduardo Henrique da Rocha Coppoli
dc.contributor.referee5.fl_str_mv Alexandre Ramos Fonseca
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/2859269540331865
dc.contributor.author.fl_str_mv Lucas Pantuza Amorim
contributor_str_mv Renato Cardoso Mesquita
Ricardo Luiz da Silva Adriano
Renato Antônio Celso Ferreira
Marcio Matias Afonso
Eduardo Henrique da Rocha Coppoli
Alexandre Ramos Fonseca
dc.subject.por.fl_str_mv GPU
Método sem malha
MLPG
Solucionador
topic GPU
Método sem malha
MLPG
Solucionador
Engenharia elétrica
Eletromagnetismo
dc.subject.other.pt_BR.fl_str_mv Engenharia elétrica
Eletromagnetismo
description Este 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.
publishDate 2019
dc.date.issued.fl_str_mv 2019-12-04
dc.date.accessioned.fl_str_mv 2020-03-12T17:29:15Z
dc.date.available.fl_str_mv 2020-03-12T17:29:15Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1843/32868
dc.identifier.orcid.pt_BR.fl_str_mv https://orcid.org/0000-0002-7353-1254
url http://hdl.handle.net/1843/32868
https://orcid.org/0000-0002-7353-1254
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by-nc/3.0/pt/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc/3.0/pt/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Engenharia Elétrica
dc.publisher.initials.fl_str_mv UFMG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv ENG - DEPARTAMENTO DE ENGENHARIA ELÉTRICA
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br/bitstream/1843/32868/2/license_rdf
https://repositorio.ufmg.br/bitstream/1843/32868/4/_LucasPantuzaAmorim_tese.pdf
https://repositorio.ufmg.br/bitstream/1843/32868/5/license.txt
https://repositorio.ufmg.br/bitstream/1843/32868/6/_LucasPantuzaAmorim_tese.pdf.txt
bitstream.checksum.fl_str_mv 33b8016dc5c4681c1e7a582a4161162c
c72f9850db2499c9004b45b49e4ae7b5
34badce4be7e31e3adb4575ae96af679
a9fa544524ca7e857fc806df81730901
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv
_version_ 1801676767213125632