Implementação sequencial e paralela de Navier Stokes usando C+CUDA
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFRJ |
Texto Completo: | http://hdl.handle.net/11422/17179 |
Resumo: | Graphics Processing Unit (GPUs) são um tipo de hardware acelerador com um grande potencial de paralelização e, em conjunto com a plataforma Compute Unified Device Ar chitecture (CUDA), oferecem um ambiente propício para a implementação de aplicações paralelas. Nos dias de hoje, GPUs vêm sendo utilizadas para a execução paralela de algo ritmos nas mais diversas áreas, possibilitando a redução dos seus tempos de computação O objetivo desse trabalho é desenvolver uma solução paralela em CUDA para o problema da cavidade com superfície deslizante, usando as equações de Navier-Stokes. Com o in tuito de avaliar o ganho na utilização do paralelismo para solução desse problema, as equações de Navier-Stokes — discretizadas por diferenças finitas — foram implementas tanto na versão paralela em C+CUDA quanto na versão sequencial em C. A solução dos sistemas lineares é feita por meio de um esquema de coloração Red-Black para as células internas da malha e do método iterativo successive-over-relaxation (SOR), denominado Red-Black-SOR. Foram avaliados os impactos no tempo de processamento e na precisão numérica da solução quando variados os parâmetros de precisão do método e o de cálculo do passo no tempo. Foi obtido um speedup máximo de 2.02 e mínimo de 1.78 com a versão C+CUDA. |
id |
UFRJ_ddbc19dfd434165a2577dfa8bdb4ca34 |
---|---|
oai_identifier_str |
oai:pantheon.ufrj.br:11422/17179 |
network_acronym_str |
UFRJ |
network_name_str |
Repositório Institucional da UFRJ |
repository_id_str |
|
spelling |
Guimarães, Matheus Henrique Pannohttp://lattes.cnpq.br/0054098292730720Valerio, Juliana Viannahttp://lattes.cnpq.br/7094932502443475Vigo, Daniel Gregório Alfarohttp://lattes.cnpq.br/8694890749217765Silva, João Vitor de Oliveirahttp://lattes.cnpq.br/5037553036023172Rossetto, Silvana2022-06-14T15:28:15Z2023-11-30T03:04:54Z2022-04-06http://hdl.handle.net/11422/17179Submitted by Elaine Almeida (elaine.almeida@nce.ufrj.br) on 2022-06-14T15:28:15Z No. of bitstreams: 1 MHPGuimaraes.pdf: 976052 bytes, checksum: f3585c65a62a2126af80d28f3dd29103 (MD5)Made available in DSpace on 2022-06-14T15:28:15Z (GMT). No. of bitstreams: 1 MHPGuimaraes.pdf: 976052 bytes, checksum: f3585c65a62a2126af80d28f3dd29103 (MD5) Previous issue date: 2022-04-06Graphics Processing Unit (GPUs) são um tipo de hardware acelerador com um grande potencial de paralelização e, em conjunto com a plataforma Compute Unified Device Ar chitecture (CUDA), oferecem um ambiente propício para a implementação de aplicações paralelas. Nos dias de hoje, GPUs vêm sendo utilizadas para a execução paralela de algo ritmos nas mais diversas áreas, possibilitando a redução dos seus tempos de computação O objetivo desse trabalho é desenvolver uma solução paralela em CUDA para o problema da cavidade com superfície deslizante, usando as equações de Navier-Stokes. Com o in tuito de avaliar o ganho na utilização do paralelismo para solução desse problema, as equações de Navier-Stokes — discretizadas por diferenças finitas — foram implementas tanto na versão paralela em C+CUDA quanto na versão sequencial em C. A solução dos sistemas lineares é feita por meio de um esquema de coloração Red-Black para as células internas da malha e do método iterativo successive-over-relaxation (SOR), denominado Red-Black-SOR. Foram avaliados os impactos no tempo de processamento e na precisão numérica da solução quando variados os parâmetros de precisão do método e o de cálculo do passo no tempo. Foi obtido um speedup máximo de 2.02 e mínimo de 1.78 com a versão C+CUDA.porUniversidade Federal do Rio de JaneiroUFRJBrasilInstituto de ComputaçãoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOEquações de Navier-StokesDiferenças FinitaProgramação Paralela em GPUC+CUDAImplementação sequencial e paralela de Navier Stokes usando C+CUDAinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisabertoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRJinstname:Universidade Federal do Rio de Janeiro (UFRJ)instacron:UFRJLICENSElicense.txtlicense.txttext/plain; charset=utf-81853http://pantheon.ufrj.br:80/bitstream/11422/17179/2/license.txtdd32849f2bfb22da963c3aac6e26e255MD52ORIGINALMHPGuimaraes.pdfMHPGuimaraes.pdfapplication/pdf976052http://pantheon.ufrj.br:80/bitstream/11422/17179/1/MHPGuimaraes.pdff3585c65a62a2126af80d28f3dd29103MD5111422/171792023-11-30 00:04:54.3oai:pantheon.ufrj.br:11422/17179TElDRU7Dh0EgTsODTy1FWENMVVNJVkEgREUgRElTVFJJQlVJw4fDg08KCkFvIGFzc2luYXIgZSBlbnRyZWdhciBlc3RhIGxpY2Vuw6dhLCB2b2PDqihzKSBvKHMpIGF1dG9yKGVzKSBvdSBwcm9wcmlldMOhcmlvKHMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBjb25jZWRlKG0pIGFvIFJlcG9zaXTDs3JpbyBQYW50aGVvbiBkYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gZGUgSmFuZWlybyAoVUZSSikgbyBkaXJlaXRvIG7Do28gLSBleGNsdXNpdm8gZGUgcmVwcm9kdXppciwgY29udmVydGVyIChjb21vIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vKSBlbSB0b2RvIG8gbXVuZG8sIGVtIGZvcm1hdG8gZWxldHLDtG5pY28gZSBlbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8sIG1hcyBuw6NvIGxpbWl0YWRvIGEgw6F1ZGlvIGUvb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVUZSSiBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhZHV6aXIgYSBhcHJlc2VudGHDp8OjbyBkZSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gY29tIGEgZmluYWxpZGFkZSBkZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogdGFtYsOpbSBjb25jb3JkYSBxdWUgYSBVRlJKIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXNzYSBzdWJtaXNzw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8OjbyBkaWdpdGFsLgoKRGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZSB2b2PDqiB0ZW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIGEgc3VhIGFwcmVzZW50YcOnw6NvLCBjb20gbyBtZWxob3IgZGUgc2V1cyBjb25oZWNpbWVudG9zLCBuw6NvIGluZnJpbmdpIGRpcmVpdG9zIGF1dG9yYWlzIGRlIHRlcmNlaXJvcy4KClNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCB2b2PDqiBuw6NvIHRlbSBkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBlIGNvbmNlZGUgYSBVRlJKIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRhIHN1Ym1pc3PDo28uCgpTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIHF1ZSBmb2ksIG91IHRlbSBzaWRvIHBhdHJvY2luYWRvIG91IGFwb2lhZG8gcG9yIHVtYSBhZ8OqbmNpYSBvdSBvdXRybyhzKSBvcmdhbmlzbW8ocykgcXVlIG7Do28gYSBVRlJKLCB2b2PDqiBkZWNsYXJhIHF1ZSBjdW1wcml1IHF1YWxxdWVyIGRpcmVpdG8gZGUgUkVWSVPDg08gb3UgZGUgb3V0cmFzIG9icmlnYcOnw7VlcyByZXF1ZXJpZGFzIHBvciBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUkogaXLDoSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8ocykgc2V1KHMpIG5vbWUocykgY29tbyBhdXRvcihlcykgb3UgcHJvcHJpZXTDoXJpbyhzKSBkYSBzdWJtaXNzw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIHBhcmEgYWzDqW0gZGFzIHBlcm1pdGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EsIG5vIGF0byBkZSBzdWJtaXNzw6NvLgo=Repositório de PublicaçõesPUBhttp://www.pantheon.ufrj.br/oai/requestopendoar:2023-11-30T03:04:54Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ)false |
dc.title.pt_BR.fl_str_mv |
Implementação sequencial e paralela de Navier Stokes usando C+CUDA |
title |
Implementação sequencial e paralela de Navier Stokes usando C+CUDA |
spellingShingle |
Implementação sequencial e paralela de Navier Stokes usando C+CUDA Guimarães, Matheus Henrique Panno CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Equações de Navier-Stokes Diferenças Finita Programação Paralela em GPU C+CUDA |
title_short |
Implementação sequencial e paralela de Navier Stokes usando C+CUDA |
title_full |
Implementação sequencial e paralela de Navier Stokes usando C+CUDA |
title_fullStr |
Implementação sequencial e paralela de Navier Stokes usando C+CUDA |
title_full_unstemmed |
Implementação sequencial e paralela de Navier Stokes usando C+CUDA |
title_sort |
Implementação sequencial e paralela de Navier Stokes usando C+CUDA |
author |
Guimarães, Matheus Henrique Panno |
author_facet |
Guimarães, Matheus Henrique Panno |
author_role |
author |
dc.contributor.advisorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/0054098292730720 |
dc.contributor.advisorCo1.none.fl_str_mv |
Valerio, Juliana Vianna |
dc.contributor.advisorCo1Lattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/7094932502443475 |
dc.contributor.author.fl_str_mv |
Guimarães, Matheus Henrique Panno |
dc.contributor.referee1.fl_str_mv |
Vigo, Daniel Gregório Alfaro |
dc.contributor.referee1Lattes.fl_str_mv |
http://lattes.cnpq.br/8694890749217765 |
dc.contributor.referee2.fl_str_mv |
Silva, João Vitor de Oliveira |
dc.contributor.referee2Lattes.fl_str_mv |
http://lattes.cnpq.br/5037553036023172 |
dc.contributor.advisor1.fl_str_mv |
Rossetto, Silvana |
contributor_str_mv |
Vigo, Daniel Gregório Alfaro Silva, João Vitor de Oliveira Rossetto, Silvana |
dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
topic |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Equações de Navier-Stokes Diferenças Finita Programação Paralela em GPU C+CUDA |
dc.subject.por.fl_str_mv |
Equações de Navier-Stokes Diferenças Finita Programação Paralela em GPU C+CUDA |
description |
Graphics Processing Unit (GPUs) são um tipo de hardware acelerador com um grande potencial de paralelização e, em conjunto com a plataforma Compute Unified Device Ar chitecture (CUDA), oferecem um ambiente propício para a implementação de aplicações paralelas. Nos dias de hoje, GPUs vêm sendo utilizadas para a execução paralela de algo ritmos nas mais diversas áreas, possibilitando a redução dos seus tempos de computação O objetivo desse trabalho é desenvolver uma solução paralela em CUDA para o problema da cavidade com superfície deslizante, usando as equações de Navier-Stokes. Com o in tuito de avaliar o ganho na utilização do paralelismo para solução desse problema, as equações de Navier-Stokes — discretizadas por diferenças finitas — foram implementas tanto na versão paralela em C+CUDA quanto na versão sequencial em C. A solução dos sistemas lineares é feita por meio de um esquema de coloração Red-Black para as células internas da malha e do método iterativo successive-over-relaxation (SOR), denominado Red-Black-SOR. Foram avaliados os impactos no tempo de processamento e na precisão numérica da solução quando variados os parâmetros de precisão do método e o de cálculo do passo no tempo. Foi obtido um speedup máximo de 2.02 e mínimo de 1.78 com a versão C+CUDA. |
publishDate |
2022 |
dc.date.accessioned.fl_str_mv |
2022-06-14T15:28:15Z |
dc.date.issued.fl_str_mv |
2022-04-06 |
dc.date.available.fl_str_mv |
2023-11-30T03:04:54Z |
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.uri.fl_str_mv |
http://hdl.handle.net/11422/17179 |
url |
http://hdl.handle.net/11422/17179 |
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.publisher.none.fl_str_mv |
Universidade Federal do Rio de Janeiro |
dc.publisher.initials.fl_str_mv |
UFRJ |
dc.publisher.country.fl_str_mv |
Brasil |
dc.publisher.department.fl_str_mv |
Instituto de Computação |
publisher.none.fl_str_mv |
Universidade Federal do Rio de Janeiro |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRJ instname:Universidade Federal do Rio de Janeiro (UFRJ) instacron:UFRJ |
instname_str |
Universidade Federal do Rio de Janeiro (UFRJ) |
instacron_str |
UFRJ |
institution |
UFRJ |
reponame_str |
Repositório Institucional da UFRJ |
collection |
Repositório Institucional da UFRJ |
bitstream.url.fl_str_mv |
http://pantheon.ufrj.br:80/bitstream/11422/17179/2/license.txt http://pantheon.ufrj.br:80/bitstream/11422/17179/1/MHPGuimaraes.pdf |
bitstream.checksum.fl_str_mv |
dd32849f2bfb22da963c3aac6e26e255 f3585c65a62a2126af80d28f3dd29103 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFRJ - Universidade Federal do Rio de Janeiro (UFRJ) |
repository.mail.fl_str_mv |
|
_version_ |
1784097252519706624 |