Programação paralela do método dos elementos de contorno
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Monografias da UnB |
Texto Completo: | https://bdm.unb.br/handle/10483/28997 |
Resumo: | Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2020. |
id |
UNB-2_6fd3f5c6abf88f67cbb54e8831589c41 |
---|---|
oai_identifier_str |
oai:bdm.unb.br:10483/28997 |
network_acronym_str |
UNB-2 |
network_name_str |
Biblioteca Digital de Monografias da UnB |
repository_id_str |
11571 |
spelling |
Miura Junior, InácioAlbuquerque, Éder Lima deMIURA JÚNIOR, Inácio. Programação paralela do método dos elementos de contorno. 2020. 104 f., il.Trabalho de Conclusão de Curso (Bacharelado em Engenharia Mecânica)—Universidade de Brasília, Brasília, 2020.https://bdm.unb.br/handle/10483/28997Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2020.O presente trabalho explora técnicas de programação de alto desempenho para aperfeiçoar um código de método dos elementos de contorno (MEC). Serão discutidas as vantagens da implementação da programação em paralelo, passando por uma revisão teórica sobre vetorização, multi-threading e programação paralela em clusters. A implementação do MEC foi escrita em Python devido a facilidade de programação que reduz o tempo gasto na etapa de desenvolvimento. Serão avaliadas as partes que mais consomem tempo de processamento para uma otimização utilizando a biblioteca Cython, que transforma trechos do programa em extensões em C. Foi explorado o uso de Softwares livres, Open Source, para soluções de geração de CAD (FreeCad, Designspark Mechanical), geração de malha (GMSH), leitura e conversão de malha (Meshio), visualização e pós-processamento (ParaView). Por fim, foi analisado o impacto da implementação de paralelismo, com memória compartilhada, em um dos trechos críticos da rotina de cálculo e foram discutidos os aspectos práticos e dificuldades técnicas, deste método, com o intuito de fomentar o uso de novas práticas mais eficientes de programação. A paralelização da rotina de integração, existente no código, aumentou a velocidade por um fator igual ao número de processadores utilizados.Submitted by Jaedna Lins (jaednalins@bce.unb.br) on 2021-10-20T00:08:32Z No. of bitstreams: 1 2020_InacioMiuraJunior_tcc.pdf: 3211657 bytes, checksum: f8caa7f2a19b2d420410ffcf3ac992b5 (MD5)Approved for entry into archive by Luanna Maia (luanna@bce.unb.br) on 2021-10-21T13:29:17Z (GMT) No. of bitstreams: 1 2020_InacioMiuraJunior_tcc.pdf: 3211657 bytes, checksum: f8caa7f2a19b2d420410ffcf3ac992b5 (MD5)Made available in DSpace on 2021-10-21T13:29:17Z (GMT). No. of bitstreams: 1 2020_InacioMiuraJunior_tcc.pdf: 3211657 bytes, checksum: f8caa7f2a19b2d420410ffcf3ac992b5 (MD5)The present work explore high performance programming techniques to enhance a boundary element method (BEM) code. It was discussed the advantages of implementing parallel programming, throughout the concept of vectorization, multi-threading and parallel programming on clusters. The BEM implementation has been written in Python due to the ease of programming that reduces the time spent in the development stage. The most time consuming parts will be evaluated for a optimization utilizing the Cython library, that turns program snippets into C extensions. Free Open Source Softwares will be explored for solutions of CAD generation (FreeCad, Designspark Mechanical), Mesh generation (GMSH), Mesh reading and conversion (Meshio), visualization and post processing (ParaView).Finally, it was analised the impact of a parallel implementation, with shared memory, on a critical section of the calculation routine and it was discussed the practical aspects and technical dificulties of such method, with the intention of fomenting the use of new and more efficient programming practices. The paralelization of the integration routine, that exist in the code, enhanced the speed by a factor equal to the number of processors utilized.A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta.info:eu-repo/semantics/openAccessLinguagem de programação (Computadores)Software gratuitoPython (Linguagem de programação de computador)Programação paralela do método dos elementos de contornoinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesis2021-10-21T13:29:17Z2021-10-21T13:29:17Z2020-12-18porreponame:Biblioteca Digital de Monografias da UnBinstname:Universidade de Brasília (UnB)instacron:UNBLICENSElicense.txtlicense.txttext/plain1817http://bdm.unb.br/xmlui/bitstream/10483/28997/2/license.txt21554873e56ad8ddc69c092699b98f95MD52ORIGINAL2020_InacioMiuraJunior_tcc.pdf2020_InacioMiuraJunior_tcc.pdfapplication/pdf3211657http://bdm.unb.br/xmlui/bitstream/10483/28997/1/2020_InacioMiuraJunior_tcc.pdff8caa7f2a19b2d420410ffcf3ac992b5MD5110483/289972021-10-21 10:29:17.753oai:bdm.unb.br:10483/28997w4kgbmVjZXNzw6FyaW8gY29uY29yZGFyIGNvbSBhIGxpY2Vuw6dhIGRlIGRpc3RyaWJ1acOnw6NvIG7Do28tZXhjbHVzaXZhLAphbnRlcyBxdWUgbyBkb2N1bWVudG8gcG9zc2EgYXBhcmVjZXIgbmEgQmlibGlvdGVjYSBEaWdpdGFsIGRhIFByb2R1w6fDo28gCkRpc2NlbnRlIGRhIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEuIFBvciBmYXZvciwgbGVpYSBhCmxpY2Vuw6dhIGF0ZW50YW1lbnRlLiBDYXNvIG5lY2Vzc2l0ZSBkZSBhbGd1bSBlc2NsYXJlY2ltZW50byBlbnRyZSBlbQpjb250YXRvIGF0cmF2w6lzIGRlOiBiZG1AYmNlLnVuYi5iciBvdSAzMTA3LTI2ODcuCgpMSUNFTsOHQSBERSBESVNUUklCVUnDh8ODTyBOw4NPLUVYQ0xVU0lWQQoKQW8gYXNzaW5hciBlIGVudHJlZ2FyIGVzdGEgbGljZW7Dp2EsIG8vYSBTci4vU3JhLiAoYXV0b3Igb3UgZGV0ZW50b3IgZG9zCmRpcmVpdG9zIGRlIGF1dG9yKToKCmEpIENvbmNlZGUgw6AgVW5pdmVyc2lkYWRlIGRlIEJyYXPDrWxpYSBvIGRpcmVpdG8gbsOjby1leGNsdXNpdm8gZGUKcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGNvbXVuaWNhciBlL291CmRpc3RyaWJ1aXIgbyBkb2N1bWVudG8gZW50cmVndWUgKGluY2x1aW5kbyBvIHJlc3Vtby9hYnN0cmFjdCkgZW0KZm9ybWF0byBkaWdpdGFsIG91IGltcHJlc3NvIGUgZW0gcXVhbHF1ZXIgbWVpby4KCmIpIERlY2xhcmEgcXVlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIMOpIHNldSB0cmFiYWxobyBvcmlnaW5hbCwgZSBxdWUKZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYQp0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2UsIHRhbnRvIHF1YW50byBsaGUgw6kKcG9zc8OtdmVsIHNhYmVyLCBvcyBkaXJlaXRvcyBkZSBxdWFscXVlciBvdXRyYSBwZXNzb2Egb3UgZW50aWRhZGUuCgpjKSBTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSBjb250w6ltIG1hdGVyaWFsIGRvIHF1YWwgbsOjbyBkZXTDqW0gb3MKZGlyZWl0b3MgZGUgYXV0b3IsIGRlY2xhcmEgcXVlIG9idGV2ZSBhdXRvcml6YcOnw6NvIGRvIGRldGVudG9yIGRvcwpkaXJlaXRvcyBkZSBhdXRvciBwYXJhIGNvbmNlZGVyIMOgIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEgb3MgZGlyZWl0b3MKcmVxdWVyaWRvcyBwb3IgZXN0YSBsaWNlbsOnYSwgZSBxdWUgZXNzZSBtYXRlcmlhbCBjdWpvcyBkaXJlaXRvcyBzw6NvIGRlCnRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIG91CmNvbnRlw7pkbyBkbyBkb2N1bWVudG8gZW50cmVndWUuCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIGZpbmFuY2lhZG8gb3UgYXBvaWFkbwpwb3Igb3V0cmEgaW5zdGl0dWnDp8OjbyBxdWUgbsOjbyBhIFVuaXZlcnNpZGFkZSBkZSBCcmFzw61saWEsIGRlY2xhcmEgcXVlCmN1bXByaXUgcXVhaXNxdWVyIG9icmlnYcOnw7VlcyBleGlnaWRhcyBwZWxvIHJlc3BlY3Rpdm8gY29udHJhdG8gb3UKYWNvcmRvLgoKQSBVbml2ZXJzaWRhZGUgZGUgQnJhc8OtbGlhIGlkZW50aWZpY2Fyw6EgY2xhcmFtZW50ZSBvKHMpIHNldSAocykgbm9tZSAocykKY29tbyBvIChzKSBhdXRvciAoZXMpIG91IGRldGVudG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50bwplbnRyZWd1ZSwgZSBuw6NvIGZhcsOhIHF1YWxxdWVyIGFsdGVyYcOnw6NvLCBwYXJhIGFsw6ltIGRhcyBwZXJtaXRpZGFzIHBvcgplc3RhIGxpY2Vuw6dhLgo=Biblioteca Digital de Monografiahttps://bdm.unb.br/PUBhttp://bdm.unb.br/oai/requestbdm@bce.unb.br||patricia@bce.unb.bropendoar:115712021-10-21T13:29:17Biblioteca Digital de Monografias da UnB - Universidade de Brasília (UnB)false |
dc.title.pt_BR.fl_str_mv |
Programação paralela do método dos elementos de contorno |
title |
Programação paralela do método dos elementos de contorno |
spellingShingle |
Programação paralela do método dos elementos de contorno Miura Junior, Inácio Linguagem de programação (Computadores) Software gratuito Python (Linguagem de programação de computador) |
title_short |
Programação paralela do método dos elementos de contorno |
title_full |
Programação paralela do método dos elementos de contorno |
title_fullStr |
Programação paralela do método dos elementos de contorno |
title_full_unstemmed |
Programação paralela do método dos elementos de contorno |
title_sort |
Programação paralela do método dos elementos de contorno |
author |
Miura Junior, Inácio |
author_facet |
Miura Junior, Inácio |
author_role |
author |
dc.contributor.author.fl_str_mv |
Miura Junior, Inácio |
dc.contributor.advisor1.fl_str_mv |
Albuquerque, Éder Lima de |
contributor_str_mv |
Albuquerque, Éder Lima de |
dc.subject.keyword.pt_BR.fl_str_mv |
Linguagem de programação (Computadores) Software gratuito Python (Linguagem de programação de computador) |
topic |
Linguagem de programação (Computadores) Software gratuito Python (Linguagem de programação de computador) |
description |
Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2020. |
publishDate |
2020 |
dc.date.submitted.none.fl_str_mv |
2020-12-18 |
dc.date.accessioned.fl_str_mv |
2021-10-21T13:29:17Z |
dc.date.available.fl_str_mv |
2021-10-21T13:29:17Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
MIURA JÚNIOR, Inácio. Programação paralela do método dos elementos de contorno. 2020. 104 f., il.Trabalho de Conclusão de Curso (Bacharelado em Engenharia Mecânica)—Universidade de Brasília, Brasília, 2020. |
dc.identifier.uri.fl_str_mv |
https://bdm.unb.br/handle/10483/28997 |
identifier_str_mv |
MIURA JÚNIOR, Inácio. Programação paralela do método dos elementos de contorno. 2020. 104 f., il.Trabalho de Conclusão de Curso (Bacharelado em Engenharia Mecânica)—Universidade de Brasília, Brasília, 2020. |
url |
https://bdm.unb.br/handle/10483/28997 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Monografias da UnB instname:Universidade de Brasília (UnB) instacron:UNB |
instname_str |
Universidade de Brasília (UnB) |
instacron_str |
UNB |
institution |
UNB |
reponame_str |
Biblioteca Digital de Monografias da UnB |
collection |
Biblioteca Digital de Monografias da UnB |
bitstream.url.fl_str_mv |
http://bdm.unb.br/xmlui/bitstream/10483/28997/2/license.txt http://bdm.unb.br/xmlui/bitstream/10483/28997/1/2020_InacioMiuraJunior_tcc.pdf |
bitstream.checksum.fl_str_mv |
21554873e56ad8ddc69c092699b98f95 f8caa7f2a19b2d420410ffcf3ac992b5 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Biblioteca Digital de Monografias da UnB - Universidade de Brasília (UnB) |
repository.mail.fl_str_mv |
bdm@bce.unb.br||patricia@bce.unb.br |
_version_ |
1813908058313588736 |