Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFPE |
Texto Completo: | https://repositorio.ufpe.br/handle/123456789/40026 |
Resumo: | Simulações de elementos finitos com o uso de modelos em larga escala estão se tornando mais frequentes. Entre esses problemas temos a simulação de sismos em barragens e a simu- lação geomecânica de reservatórios de petróleo. Estratégias modernas aplicadas a problemas transitórios aproveitam a montagem eficiente de matrizes globais, bem como a solução rápida de sistemas de equações em modelos com dezenas de milhões de graus de liberdade. O uso da computação de uso geral em unidades de processamento gráfico (GPGPU) permite extrema paralelização e aceleração desses processos. Nesta direção, o presente trabalho apresenta várias aplicações de problemas de mecânica computacional usando a linguagem de programação C ++ acoplada ao NVCC (NVIDIA CUDA Compiler) para a plataforma CUDA. Essas simulações requerem apenas funções nativas do C ++, sem dependências externas. O código foi desenvol- vido em uma estrutura modular, com a implementação híbrida de sub-rotinas em CPU e GPU (Graphical Processing Units). Um solucionador iterativo com o método de gradiente conjugado é apresentado e pode ser acoplado a códigos desenvolvidos em outras linguagens de programação para soluções GPU dedicadas. Duas formas de integração direta são apresentadas para a evolução no tempo. Vários benchmarks são discutidos, incluindo o uso do OpenMP para computação paralela e cálculos na GPU de precisão dupla e única, além de diferentes núcleos de GPU para multiplicação esparsa de vetores matriciais (SpMV). Os resultados obtidos usando as estratégias propostas revelam que os cálculos usando as rotinas descritas são eficazes e fornecem acelerações significativas em relação aos cálculos de thread único. |
id |
UFPE_f65ecbf4e0735de3cfdeba72f7890ef3 |
---|---|
oai_identifier_str |
oai:repositorio.ufpe.br:123456789/40026 |
network_acronym_str |
UFPE |
network_name_str |
Repositório Institucional da UFPE |
repository_id_str |
2221 |
spelling |
CHAVES JUNIOR, Cicero Vitorhttp://lattes.cnpq.br/7864873190675001http://lattes.cnpq.br/0171120821110850RIBEIRO, Paulo Marcelo Vieira2021-04-30T13:22:42Z2021-04-30T13:22:42Z2020-02-19CHAVES JUNIOR, Cicero Vitor. Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos. 2020. Dissertação (Mestrado em Engenharia Civil)- Universidade Federal de Pernambuco, Recife, 2020.https://repositorio.ufpe.br/handle/123456789/40026Simulações de elementos finitos com o uso de modelos em larga escala estão se tornando mais frequentes. Entre esses problemas temos a simulação de sismos em barragens e a simu- lação geomecânica de reservatórios de petróleo. Estratégias modernas aplicadas a problemas transitórios aproveitam a montagem eficiente de matrizes globais, bem como a solução rápida de sistemas de equações em modelos com dezenas de milhões de graus de liberdade. O uso da computação de uso geral em unidades de processamento gráfico (GPGPU) permite extrema paralelização e aceleração desses processos. Nesta direção, o presente trabalho apresenta várias aplicações de problemas de mecânica computacional usando a linguagem de programação C ++ acoplada ao NVCC (NVIDIA CUDA Compiler) para a plataforma CUDA. Essas simulações requerem apenas funções nativas do C ++, sem dependências externas. O código foi desenvol- vido em uma estrutura modular, com a implementação híbrida de sub-rotinas em CPU e GPU (Graphical Processing Units). Um solucionador iterativo com o método de gradiente conjugado é apresentado e pode ser acoplado a códigos desenvolvidos em outras linguagens de programação para soluções GPU dedicadas. Duas formas de integração direta são apresentadas para a evolução no tempo. Vários benchmarks são discutidos, incluindo o uso do OpenMP para computação paralela e cálculos na GPU de precisão dupla e única, além de diferentes núcleos de GPU para multiplicação esparsa de vetores matriciais (SpMV). Os resultados obtidos usando as estratégias propostas revelam que os cálculos usando as rotinas descritas são eficazes e fornecem acelerações significativas em relação aos cálculos de thread único.Finite element simulations with the use of large scale models are becoming more frequent. These problems include simulation of earthquakes in dams and geomechanical simulation of petroleum reservoirs. Modern strategies applied to transient problems seize efficient assembly of global matrices as well as the fast solution of system of equations in models with hundreds of millions of degrees of freedom. The use of General-Purpose computing on Graphics Processing Units (GPGPU) enables extreme parallelization and acceleration of these processes. In this direction, the present work presents several applications of computational mechanics problems using the C ++ programming language coupled to the NVCC (NVIDIA CUDA Compiler) for the CUDA platform. These simulations require only native C ++ functions, without external dependencies. The code was developed in a modular structure, with the hybrid implementation of subroutines in CPU and Graphical Processing Units (GPU). An iterative solver with the conjugate gradient method is presented and can be coupled to codes developed in other program- ming languages for dedicated GPU solution. Two forms of direct integration are presented for evolution over time. Several benchmarks are discussed, including the use of OpenMP for parallel computing and computations on the GPU using double and single precision accuracy, as well as different GPU kernels for sparse matrix-vector multiplication (SpMV). Results obtained using the proposed strategies reveal that computations using the described routines are effective and provide significant speedups over single-threaded computations.porUniversidade Federal de PernambucoPrograma de Pos Graduacao em Engenharia CivilUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessEngenharia CivilElementos finitosComputação paralelaGPGPUCUDASimulação dinâmicaAceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porososinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPEORIGINALDISSERTAÇÃO Cicero Vitor Chaves Junior.pdfDISSERTAÇÃO Cicero Vitor Chaves Junior.pdfapplication/pdf2709351https://repositorio.ufpe.br/bitstream/123456789/40026/1/DISSERTA%c3%87%c3%83O%20Cicero%20Vitor%20Chaves%20Junior.pdf9e749c0490652f6c0e5c3cc061f798c9MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/40026/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82310https://repositorio.ufpe.br/bitstream/123456789/40026/3/license.txtbd573a5ca8288eb7272482765f819534MD53TEXTDISSERTAÇÃO Cicero Vitor Chaves Junior.pdf.txtDISSERTAÇÃO Cicero Vitor Chaves Junior.pdf.txtExtracted texttext/plain146985https://repositorio.ufpe.br/bitstream/123456789/40026/4/DISSERTA%c3%87%c3%83O%20Cicero%20Vitor%20Chaves%20Junior.pdf.txte588ea0c31422c32bfe121aee31f0c68MD54THUMBNAILDISSERTAÇÃO Cicero Vitor Chaves Junior.pdf.jpgDISSERTAÇÃO Cicero Vitor Chaves Junior.pdf.jpgGenerated Thumbnailimage/jpeg1318https://repositorio.ufpe.br/bitstream/123456789/40026/5/DISSERTA%c3%87%c3%83O%20Cicero%20Vitor%20Chaves%20Junior.pdf.jpg8856a5a924587f02a7159d814c96e4dbMD55123456789/400262021-05-01 02:15:34.279oai:repositorio.ufpe.br:123456789/40026TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLCBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWlzcXVlciBvYnJpZ2HDp8O1ZXMgZXhpZ2lkYXMgcGVsbyByZXNwZWN0aXZvIGNvbnRyYXRvIG91IGFjb3Jkby4KCkEgVUZQRSBpZGVudGlmaWNhcsOhIGNsYXJhbWVudGUgbyhzKSBub21lKHMpIGRvKHMpIGF1dG9yIChlcykgZG9zIGRpcmVpdG9zIGRvIGRvY3VtZW50byBlbnRyZWd1ZSBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZG8gcHJldmlzdG8gbmEgYWzDrW5lYSBjKS4KRepositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212021-05-01T05:15:34Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
dc.title.pt_BR.fl_str_mv |
Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos |
title |
Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos |
spellingShingle |
Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos CHAVES JUNIOR, Cicero Vitor Engenharia Civil Elementos finitos Computação paralela GPGPU CUDA Simulação dinâmica |
title_short |
Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos |
title_full |
Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos |
title_fullStr |
Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos |
title_full_unstemmed |
Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos |
title_sort |
Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos |
author |
CHAVES JUNIOR, Cicero Vitor |
author_facet |
CHAVES JUNIOR, Cicero Vitor |
author_role |
author |
dc.contributor.authorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/7864873190675001 |
dc.contributor.advisorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/0171120821110850 |
dc.contributor.author.fl_str_mv |
CHAVES JUNIOR, Cicero Vitor |
dc.contributor.advisor1.fl_str_mv |
RIBEIRO, Paulo Marcelo Vieira |
contributor_str_mv |
RIBEIRO, Paulo Marcelo Vieira |
dc.subject.por.fl_str_mv |
Engenharia Civil Elementos finitos Computação paralela GPGPU CUDA Simulação dinâmica |
topic |
Engenharia Civil Elementos finitos Computação paralela GPGPU CUDA Simulação dinâmica |
description |
Simulações de elementos finitos com o uso de modelos em larga escala estão se tornando mais frequentes. Entre esses problemas temos a simulação de sismos em barragens e a simu- lação geomecânica de reservatórios de petróleo. Estratégias modernas aplicadas a problemas transitórios aproveitam a montagem eficiente de matrizes globais, bem como a solução rápida de sistemas de equações em modelos com dezenas de milhões de graus de liberdade. O uso da computação de uso geral em unidades de processamento gráfico (GPGPU) permite extrema paralelização e aceleração desses processos. Nesta direção, o presente trabalho apresenta várias aplicações de problemas de mecânica computacional usando a linguagem de programação C ++ acoplada ao NVCC (NVIDIA CUDA Compiler) para a plataforma CUDA. Essas simulações requerem apenas funções nativas do C ++, sem dependências externas. O código foi desenvol- vido em uma estrutura modular, com a implementação híbrida de sub-rotinas em CPU e GPU (Graphical Processing Units). Um solucionador iterativo com o método de gradiente conjugado é apresentado e pode ser acoplado a códigos desenvolvidos em outras linguagens de programação para soluções GPU dedicadas. Duas formas de integração direta são apresentadas para a evolução no tempo. Vários benchmarks são discutidos, incluindo o uso do OpenMP para computação paralela e cálculos na GPU de precisão dupla e única, além de diferentes núcleos de GPU para multiplicação esparsa de vetores matriciais (SpMV). Os resultados obtidos usando as estratégias propostas revelam que os cálculos usando as rotinas descritas são eficazes e fornecem acelerações significativas em relação aos cálculos de thread único. |
publishDate |
2020 |
dc.date.issued.fl_str_mv |
2020-02-19 |
dc.date.accessioned.fl_str_mv |
2021-04-30T13:22:42Z |
dc.date.available.fl_str_mv |
2021-04-30T13:22:42Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
CHAVES JUNIOR, Cicero Vitor. Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos. 2020. Dissertação (Mestrado em Engenharia Civil)- Universidade Federal de Pernambuco, Recife, 2020. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufpe.br/handle/123456789/40026 |
identifier_str_mv |
CHAVES JUNIOR, Cicero Vitor. Aceleração de simulações computacionais em problemas de dinâmica estrutural e de escoamento em meios porosos. 2020. Dissertação (Mestrado em Engenharia Civil)- Universidade Federal de Pernambuco, Recife, 2020. |
url |
https://repositorio.ufpe.br/handle/123456789/40026 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.publisher.program.fl_str_mv |
Programa de Pos Graduacao em Engenharia Civil |
dc.publisher.initials.fl_str_mv |
UFPE |
dc.publisher.country.fl_str_mv |
Brasil |
publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
instname_str |
Universidade Federal de Pernambuco (UFPE) |
instacron_str |
UFPE |
institution |
UFPE |
reponame_str |
Repositório Institucional da UFPE |
collection |
Repositório Institucional da UFPE |
bitstream.url.fl_str_mv |
https://repositorio.ufpe.br/bitstream/123456789/40026/1/DISSERTA%c3%87%c3%83O%20Cicero%20Vitor%20Chaves%20Junior.pdf https://repositorio.ufpe.br/bitstream/123456789/40026/2/license_rdf https://repositorio.ufpe.br/bitstream/123456789/40026/3/license.txt https://repositorio.ufpe.br/bitstream/123456789/40026/4/DISSERTA%c3%87%c3%83O%20Cicero%20Vitor%20Chaves%20Junior.pdf.txt https://repositorio.ufpe.br/bitstream/123456789/40026/5/DISSERTA%c3%87%c3%83O%20Cicero%20Vitor%20Chaves%20Junior.pdf.jpg |
bitstream.checksum.fl_str_mv |
9e749c0490652f6c0e5c3cc061f798c9 e39d27027a6cc9cb039ad269a5db8e34 bd573a5ca8288eb7272482765f819534 e588ea0c31422c32bfe121aee31f0c68 8856a5a924587f02a7159d814c96e4db |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
repository.mail.fl_str_mv |
attena@ufpe.br |
_version_ |
1802310822822674432 |