Processamento paralelo com aceleradores gráficos
Autor(a) principal: | |
---|---|
Data de Publicação: | 2012 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UNIJUI |
Texto Completo: | http://bibliodigital.unijui.edu.br:8080/xmlui/handle/123456789/1381 |
Resumo: | As GPUs estão se tornando cada vez mais presentes no cenário da computação de alto desempenho. Elas são processadores massivamente paralelos, inicialmente usados para processamento gráfico e jogos. Desde o surgimento da NVIDIA GeForce série 8, e a introdução do CUDA e outras ferramentas, as GPUs se tornaram programáveis, sendo capazes de executar aplicativos comuns e, com isso, através da modificação de algumas aplicações para algoritmos paralelos, conseguiram uma maior performance e escalabilidade dessas aplicações. As GPUs programáveis com suas arquiteturas massivamente paralelas expandiram o horizonte da computação de alto desempenho, tornando possível executar mais rapidamente algoritmos paralelos e com menor consumo energético. O objetivo deste trabalho é comprovar e demonstrar a melhor eficiência das GPUs quanto as CPUs em aplicações paralelas. Para isto, foram desenvolvidas aplicações utilizando CUDA e APARAPI para mostrar o desempenho da GPU assim como também aplicações que exigissem desempenho da CPU para fazer a comparação. Foi implementado um conjunto de oito algoritmos que utilizam técnicas diferentes de “stress” de ambas as arquiteturas. Os resultados dos testes foram submetidos a um processo de avaliação quanto à corretude e ao tempo de execução. Gráficos foram elaborados no intuito de analisar melhor e descrever o comportamento do sistema diante de diferentes recursos, como número de threads, números de processos, dimensões das matrizes, etc. A principal conclusão deste projeto foi que a definição da estratégia é decisiva para obtenção do menor custo de tempo, onde aplicações altamente paralelizáveis que executam uma única instrução sobre múltiplos dados, podem obter um ganho exponencial de desempenho utilizando-se de GPUs. |
id |
UNIJ_a547e51b73e1c19da432b4ddb6d51592 |
---|---|
oai_identifier_str |
oai:bibliodigital.unijui.edu.br:123456789/1381 |
network_acronym_str |
UNIJ |
network_name_str |
Repositório Institucional da UNIJUI |
spelling |
info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisProcessamento paralelo com aceleradores gráficos2013-02-2820122013-02-28T19:54:35Z2013-02-28T19:54:35ZAs GPUs estão se tornando cada vez mais presentes no cenário da computação de alto desempenho. Elas são processadores massivamente paralelos, inicialmente usados para processamento gráfico e jogos. Desde o surgimento da NVIDIA GeForce série 8, e a introdução do CUDA e outras ferramentas, as GPUs se tornaram programáveis, sendo capazes de executar aplicativos comuns e, com isso, através da modificação de algumas aplicações para algoritmos paralelos, conseguiram uma maior performance e escalabilidade dessas aplicações. As GPUs programáveis com suas arquiteturas massivamente paralelas expandiram o horizonte da computação de alto desempenho, tornando possível executar mais rapidamente algoritmos paralelos e com menor consumo energético. O objetivo deste trabalho é comprovar e demonstrar a melhor eficiência das GPUs quanto as CPUs em aplicações paralelas. Para isto, foram desenvolvidas aplicações utilizando CUDA e APARAPI para mostrar o desempenho da GPU assim como também aplicações que exigissem desempenho da CPU para fazer a comparação. Foi implementado um conjunto de oito algoritmos que utilizam técnicas diferentes de “stress” de ambas as arquiteturas. Os resultados dos testes foram submetidos a um processo de avaliação quanto à corretude e ao tempo de execução. Gráficos foram elaborados no intuito de analisar melhor e descrever o comportamento do sistema diante de diferentes recursos, como número de threads, números de processos, dimensões das matrizes, etc. A principal conclusão deste projeto foi que a definição da estratégia é decisiva para obtenção do menor custo de tempo, onde aplicações altamente paralelizáveis que executam uma única instrução sobre múltiplos dados, podem obter um ganho exponencial de desempenho utilizando-se de GPUs.94 f.Processamento paraleloArquitetura heterogêneaAcelerados gráficasAlto desempenhoCUDAAPARAPIGPUGPGPUCiência da computaçãoEngenhariahttp://bibliodigital.unijui.edu.br:8080/xmlui/handle/123456789/1381DMD_hdl_123456789/1381Schieck, Rodrigoporreponame:Repositório Institucional da UNIJUIinstname:Universidade Regional do Noroeste do Estado do Rio Grande do Sulinstacron:UNIJUIinfo:eu-repo/semantics/openAccesstcc_rodrigo_schieck.pdf.txthttp://bibliodigital.unijui.edu.br:8080/xmlui/bitstream/123456789/1381/3/tcc_rodrigo_schieck.pdf.txttext/plain140963http://bibliodigital.unijui.edu.br:8080/xmlui/bitstream/123456789/1381/3/tcc_rodrigo_schieck.pdf.txt6347f6c4b50980449c27b1f4a4338257MD5123456789_1381_3tcc_rodrigo_schieck.pdfhttp://bibliodigital.unijui.edu.br:8080/xmlui/bitstream/123456789/1381/1/tcc_rodrigo_schieck.pdfapplication/pdf1575434http://bibliodigital.unijui.edu.br:8080/xmlui/bitstream/123456789/1381/1/tcc_rodrigo_schieck.pdfe43b32990a6983cde1066225b1fc3620MD5123456789_1381_12019-01-21T12:43:50Zmail@mail.com - |
dc.title.none.fl_str_mv |
Processamento paralelo com aceleradores gráficos |
title |
Processamento paralelo com aceleradores gráficos |
spellingShingle |
Processamento paralelo com aceleradores gráficos Schieck, Rodrigo Processamento paralelo Arquitetura heterogênea Acelerados gráficas Alto desempenho CUDA APARAPI GPU GPGPU Ciência da computação Engenharia |
title_short |
Processamento paralelo com aceleradores gráficos |
title_full |
Processamento paralelo com aceleradores gráficos |
title_fullStr |
Processamento paralelo com aceleradores gráficos |
title_full_unstemmed |
Processamento paralelo com aceleradores gráficos |
title_sort |
Processamento paralelo com aceleradores gráficos |
author |
Schieck, Rodrigo |
author_facet |
Schieck, Rodrigo |
author_role |
author |
dc.contributor.author.fl_str_mv |
Schieck, Rodrigo |
dc.subject.por.fl_str_mv |
Processamento paralelo Arquitetura heterogênea Acelerados gráficas Alto desempenho CUDA APARAPI GPU GPGPU Ciência da computação Engenharia |
topic |
Processamento paralelo Arquitetura heterogênea Acelerados gráficas Alto desempenho CUDA APARAPI GPU GPGPU Ciência da computação Engenharia |
dc.description.abstract.none.fl_txt_mv |
As GPUs estão se tornando cada vez mais presentes no cenário da computação de alto desempenho. Elas são processadores massivamente paralelos, inicialmente usados para processamento gráfico e jogos. Desde o surgimento da NVIDIA GeForce série 8, e a introdução do CUDA e outras ferramentas, as GPUs se tornaram programáveis, sendo capazes de executar aplicativos comuns e, com isso, através da modificação de algumas aplicações para algoritmos paralelos, conseguiram uma maior performance e escalabilidade dessas aplicações. As GPUs programáveis com suas arquiteturas massivamente paralelas expandiram o horizonte da computação de alto desempenho, tornando possível executar mais rapidamente algoritmos paralelos e com menor consumo energético. O objetivo deste trabalho é comprovar e demonstrar a melhor eficiência das GPUs quanto as CPUs em aplicações paralelas. Para isto, foram desenvolvidas aplicações utilizando CUDA e APARAPI para mostrar o desempenho da GPU assim como também aplicações que exigissem desempenho da CPU para fazer a comparação. Foi implementado um conjunto de oito algoritmos que utilizam técnicas diferentes de “stress” de ambas as arquiteturas. Os resultados dos testes foram submetidos a um processo de avaliação quanto à corretude e ao tempo de execução. Gráficos foram elaborados no intuito de analisar melhor e descrever o comportamento do sistema diante de diferentes recursos, como número de threads, números de processos, dimensões das matrizes, etc. A principal conclusão deste projeto foi que a definição da estratégia é decisiva para obtenção do menor custo de tempo, onde aplicações altamente paralelizáveis que executam uma única instrução sobre múltiplos dados, podem obter um ganho exponencial de desempenho utilizando-se de GPUs. 94 f. |
description |
As GPUs estão se tornando cada vez mais presentes no cenário da computação de alto desempenho. Elas são processadores massivamente paralelos, inicialmente usados para processamento gráfico e jogos. Desde o surgimento da NVIDIA GeForce série 8, e a introdução do CUDA e outras ferramentas, as GPUs se tornaram programáveis, sendo capazes de executar aplicativos comuns e, com isso, através da modificação de algumas aplicações para algoritmos paralelos, conseguiram uma maior performance e escalabilidade dessas aplicações. As GPUs programáveis com suas arquiteturas massivamente paralelas expandiram o horizonte da computação de alto desempenho, tornando possível executar mais rapidamente algoritmos paralelos e com menor consumo energético. O objetivo deste trabalho é comprovar e demonstrar a melhor eficiência das GPUs quanto as CPUs em aplicações paralelas. Para isto, foram desenvolvidas aplicações utilizando CUDA e APARAPI para mostrar o desempenho da GPU assim como também aplicações que exigissem desempenho da CPU para fazer a comparação. Foi implementado um conjunto de oito algoritmos que utilizam técnicas diferentes de “stress” de ambas as arquiteturas. Os resultados dos testes foram submetidos a um processo de avaliação quanto à corretude e ao tempo de execução. Gráficos foram elaborados no intuito de analisar melhor e descrever o comportamento do sistema diante de diferentes recursos, como número de threads, números de processos, dimensões das matrizes, etc. A principal conclusão deste projeto foi que a definição da estratégia é decisiva para obtenção do menor custo de tempo, onde aplicações altamente paralelizáveis que executam uma única instrução sobre múltiplos dados, podem obter um ganho exponencial de desempenho utilizando-se de GPUs. |
publishDate |
2012 |
dc.date.available.fl_str_mv |
2012 2013-02-28T19:54:35Z |
dc.date.issued.fl_str_mv |
2013-02-28 |
dc.date.accessioned.fl_str_mv |
2013-02-28T19:54:35Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
status_str |
publishedVersion |
format |
bachelorThesis |
dc.identifier.uri.fl_str_mv |
http://bibliodigital.unijui.edu.br:8080/xmlui/handle/123456789/1381 DMD_hdl_123456789/1381 |
url |
http://bibliodigital.unijui.edu.br:8080/xmlui/handle/123456789/1381 |
identifier_str_mv |
DMD_hdl_123456789/1381 |
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.format.bitstream.fl_str_mv |
text/plain application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UNIJUI instname:Universidade Regional do Noroeste do Estado do Rio Grande do Sul instacron:UNIJUI |
reponame_str |
Repositório Institucional da UNIJUI |
collection |
Repositório Institucional da UNIJUI |
instname_str |
Universidade Regional do Noroeste do Estado do Rio Grande do Sul |
instacron_str |
UNIJUI |
institution |
UNIJUI |
repository.name.fl_str_mv |
-
|
repository.mail.fl_str_mv |
mail@mail.com |
_version_ |
1623413438261755904 |