Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs
| Ano de defesa: | 2011 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Tese |
| Tipo de acesso: | Acesso aberto |
| Idioma: | eng |
| Instituição de defesa: |
Universidade Federal de Minas Gerais
|
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | https://hdl.handle.net/1843/SLSS-8KDQNG |
Resumo: | We have witnessed large advances in the use of devices designedspecifically for running parallel applications. Examples of this class of hardware are graphics processing cards, as those produced by NVIDIA.The use of GPUs to accelerate general purpose applications gave rise to a new line of development parallel applications, popularly known as GPGPU. Although recent, GPGPU applications achieved performance up to 100 times faster then traditional programs. However, programming in these environments presents several challenges, due to factors such as the complicated arrangement of memory, large flexibility when scheduling threads and the very nature of applications that need to be parallelized, which often is not fit into GPU\\\'s SIMD programming model. In order to mitigate these challenges, allowing non-specialist developers to take advantage of the large computing power of the GPGPU environment, we propose new techniques for performance evaluation and optimization in this environment.Our techniques are based on the combined use of static and dynamic program analysis. Static analysis techniques provide the developer a global vision the parallel application, but this view is often unnecessarily conservative. Moreover, dynamic analysis techniques provide a accurate view of the application under review, however this view is local and depends on factors such as input and execution environment. We hope that these two universes of program analysis can be combined so that developers can obtain more information than is possible using each strategy separately. |
| id |
UFMG_37b3d0bfb884ce2bf86ea73dfe913f8b |
|---|---|
| oai_identifier_str |
oai:repositorio.ufmg.br:1843/SLSS-8KDQNG |
| network_acronym_str |
UFMG |
| network_name_str |
Repositório Institucional da UFMG |
| repository_id_str |
|
| spelling |
2019-08-12T08:42:00Z2025-09-08T23:09:57Z2019-08-12T08:42:00Z2011-07-06https://hdl.handle.net/1843/SLSS-8KDQNGWe have witnessed large advances in the use of devices designedspecifically for running parallel applications. Examples of this class of hardware are graphics processing cards, as those produced by NVIDIA.The use of GPUs to accelerate general purpose applications gave rise to a new line of development parallel applications, popularly known as GPGPU. Although recent, GPGPU applications achieved performance up to 100 times faster then traditional programs. However, programming in these environments presents several challenges, due to factors such as the complicated arrangement of memory, large flexibility when scheduling threads and the very nature of applications that need to be parallelized, which often is not fit into GPU\\\'s SIMD programming model. In order to mitigate these challenges, allowing non-specialist developers to take advantage of the large computing power of the GPGPU environment, we propose new techniques for performance evaluation and optimization in this environment.Our techniques are based on the combined use of static and dynamic program analysis. Static analysis techniques provide the developer a global vision the parallel application, but this view is often unnecessarily conservative. Moreover, dynamic analysis techniques provide a accurate view of the application under review, however this view is local and depends on factors such as input and execution environment. We hope that these two universes of program analysis can be combined so that developers can obtain more information than is possible using each strategy separately.Universidade Federal de Minas GeraisCiência da ComputaçãoComputação gráficaProcessamento paralelo (Computadores)ComputaçãoUtilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisBruno Rocha Coutinhoinfo:eu-repo/semantics/openAccessengreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGWagner Meira JuniorFernando Magno Quintao PereiraRenato Antonio Celso FerreiraMariza Andrade da Silva BigonhaAlberto F. de SouzaPhilippe Olivier Alexandre NavauxTemos assistido a um grande avanço no uso de dispositivos projetados especificamente para a execução de aplicações paralelas.Exemplos desta classe de hardware são as placas de processamento gráfico, como as GPUs produzidas pela NVIDIA. A utilização de GPUs para acelerar aplicações de propósito geral deu origem a uma nova linha de desenvolvimento de aplicações paralelas, popularmente conhecida como GPGPU. Embora recentes, aplicações GPGPU já foram utilizadas para aumentar o desempenho de programas tradicionais em até 100 vezes. Contudo, a programação nestes ambientes apresenta diversos desafios, em decorrência de fatores como o complicado arranjo de memória, a grande flexibilidade de escalonamento de threads e a própria natureza das aplicações que precisam ser paralelizadas, as quais, muitas vezes, não se encaixam no modelo de programação SIMD das GPUs. A fim de mitigar estes desafios, permitindo que desenvolvedores não especialistas possam usufruir do grande poder computacional no ambiente GPGPU, nós propomos novas técnicas para a avaliação de desempenho e otimização neste ambiente. Nossas técnicas são baseadas no uso conjunto de análises estáticas e dinâmicas de programas. As técnicas de análise estáticas provêem ao desenvolvedor uma visão global da aplicação paralela, porém esta visão é muitas vezes desnecessariamente conservadora. Por outro lado, as técnicas de análise dinâmica fornecem ao programador uma visão precisa da aplicação sob análise, contudo esta visão é local, e depende de fatores tais como a entrada e o ambiente de execução. Nós esperamos que estes dois universos de análise de programas possam ser combinados a fim de que desenvolvedores possam obter mais informações do que seria possível usando cada estratégia em separado.UFMGORIGINALbrunorochacoutinho.pdfapplication/pdf2500469https://repositorio.ufmg.br//bitstreams/1b6c545c-41d9-4738-9123-6def8340bc58/download0c3ce50bbdbc8a1eefeabc8fb860816bMD51trueAnonymousREADTEXTbrunorochacoutinho.pdf.txttext/plain228440https://repositorio.ufmg.br//bitstreams/5dfc722a-a0ff-4043-a936-843dd74723df/download463c6a354570631caa31912ee4711bdeMD52falseAnonymousREAD1843/SLSS-8KDQNG2025-09-08 20:09:57.655open.accessoai:repositorio.ufmg.br:1843/SLSS-8KDQNGhttps://repositorio.ufmg.br/Repositório InstitucionalPUBhttps://repositorio.ufmg.br/oairepositorio@ufmg.bropendoar:2025-09-08T23:09:57Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false |
| dc.title.none.fl_str_mv |
Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs |
| title |
Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs |
| spellingShingle |
Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs Bruno Rocha Coutinho Computação gráfica Processamento paralelo (Computadores) Computação Ciência da Computação |
| title_short |
Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs |
| title_full |
Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs |
| title_fullStr |
Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs |
| title_full_unstemmed |
Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs |
| title_sort |
Utilização de técnicas de análise estática e dinâmica para otimização de aplicações de propósito geral em GPUs |
| author |
Bruno Rocha Coutinho |
| author_facet |
Bruno Rocha Coutinho |
| author_role |
author |
| dc.contributor.author.fl_str_mv |
Bruno Rocha Coutinho |
| dc.subject.por.fl_str_mv |
Computação gráfica Processamento paralelo (Computadores) Computação |
| topic |
Computação gráfica Processamento paralelo (Computadores) Computação Ciência da Computação |
| dc.subject.other.none.fl_str_mv |
Ciência da Computação |
| description |
We have witnessed large advances in the use of devices designedspecifically for running parallel applications. Examples of this class of hardware are graphics processing cards, as those produced by NVIDIA.The use of GPUs to accelerate general purpose applications gave rise to a new line of development parallel applications, popularly known as GPGPU. Although recent, GPGPU applications achieved performance up to 100 times faster then traditional programs. However, programming in these environments presents several challenges, due to factors such as the complicated arrangement of memory, large flexibility when scheduling threads and the very nature of applications that need to be parallelized, which often is not fit into GPU\\\'s SIMD programming model. In order to mitigate these challenges, allowing non-specialist developers to take advantage of the large computing power of the GPGPU environment, we propose new techniques for performance evaluation and optimization in this environment.Our techniques are based on the combined use of static and dynamic program analysis. Static analysis techniques provide the developer a global vision the parallel application, but this view is often unnecessarily conservative. Moreover, dynamic analysis techniques provide a accurate view of the application under review, however this view is local and depends on factors such as input and execution environment. We hope that these two universes of program analysis can be combined so that developers can obtain more information than is possible using each strategy separately. |
| publishDate |
2011 |
| dc.date.issued.fl_str_mv |
2011-07-06 |
| dc.date.accessioned.fl_str_mv |
2019-08-12T08:42:00Z 2025-09-08T23:09:57Z |
| dc.date.available.fl_str_mv |
2019-08-12T08:42:00Z |
| 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 |
https://hdl.handle.net/1843/SLSS-8KDQNG |
| url |
https://hdl.handle.net/1843/SLSS-8KDQNG |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
| 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//bitstreams/1b6c545c-41d9-4738-9123-6def8340bc58/download https://repositorio.ufmg.br//bitstreams/5dfc722a-a0ff-4043-a936-843dd74723df/download |
| bitstream.checksum.fl_str_mv |
0c3ce50bbdbc8a1eefeabc8fb860816b 463c6a354570631caa31912ee4711bde |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG) |
| repository.mail.fl_str_mv |
repositorio@ufmg.br |
| _version_ |
1862105852318580736 |