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

Detalhes bibliográficos
Ano de defesa: 2011
Autor(a) principal: Bruno Rocha Coutinho
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
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