Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem

Detalhes bibliográficos
Autor(a) principal: Camillo, Mario Santos, 1986-
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
Texto Completo: https://hdl.handle.net/20.500.12733/1634125
Resumo: Orientador: Wu Shin-Ting
id UNICAMP-30_1833811c7fdd15409022e45a541c520f
oai_identifier_str oai::1035903
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordemComparative study between OpenGL and CUDA on random accesses to the 1-ring neighborhoodUnidade de processamento gráficoCUDA (Arquitetura de computador)OpenGL (Interface de programação de aplicativos)Cálculo tensorialSimulação computacionalGraphical processing unitCUDA (computer architecture)OpenGL (Application programming interface)Tension calculationComputer SimulationOrientador: Wu Shin-TingDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de ComputaçãoResumo: Os avanços da arquitetura das GPUs e sua rápida evolução em direção a GPUs de propósito geral (GPGPU) tem feito com que uma série de aplicações adotem soluções de interoperabilidade entre GPGPU e computação gráfica, com o primeiro usado para cálculos pesados e o segundo para a renderização de modelos gráficos 3D em imagens de alta resolução em tempo interativo. APIs de GPGPU como CUDA, por exemplo, expõe explicitamente diversos recursos de hardware, tais como memória compartilhada e mecanismos de sincronização de threads. Isso é particularmente atraente para aplicações com acessos aleatórios (não-contíguos) à memória, pois permite que o desenvolvedor escreva código mais eficiente para gerenciamento desses acessos. Ao mesmo tempo, diversos trabalhos mostram que, para aplicações gráficas ou que demandam visualizações gráficas dos resultados, a implementação somente em OpenGL tem melhor desempenho que implementações com interoperabilidade entre CUDA e OpenGL. Nesta dissertação nós apresentamos uma comparação entre o uso de OpenGL e CUDA para acessos aleatórios à vizinhança de primeira ordem. Nós investigamos duas aplicações representativas desse problema: estimativa de tensores de curvatura e simulação de N-corpos. Em ambos os casos nós implementamos um mesmo algoritmo com uso das APIs CUDA e OpenGL. Conduzimos uma análise dos recursos de hardware expostos por cada API e a equivalência entre eles, inclusive através de usos não-gráficos do pipeline da OpenGL. Medições de desempenho são apresentadas para validar nossos resultados. Nós acreditamos que os resultados deste estudo provêem um melhor entendimento dos recursos gráficos necessários para diminuir a diferença de desempenho de OpenGL e CUDA, e abrem novas perspectivas para implementações somente em OpenGL das aplicações que requerem acessos pré-determinados e intensos à memória e renderização de gráficos 3DAbstract: Advances in GPU architecture and its rapidly evolving towards general purpose GPU (GPGPU) make a series of applications adopt a GPGPU and graphics computing interoperability approach in which the first is used for heavy computations and the second for 3D graphics rendering. GPGPU APIs, like CUDA, explicitly expose several hardware features, such as shared memory and thread synchronization mechanisms. This is particularly attractive to applications with random (non-coalesced) memory accesses, as it allows developers to write more efficient code for handling these accesses. At the same time, several studies show that, for graphics applications or programs that require graphical visualization of their results, an OpenGL implementation has better performance than implementations based on OpenGL and CUDA interoperation. In this dissertation we draw a comparison of the use of OpenGL and CUDA for random (noncoalesced) accesses to the 1-ring neighborhood of a vertex. We study two examples of this problem: curvature tensor estimation and N-body simulation. In both cases we implement the same algorithm with the CUDA and OpenGL APIs. We analyzed the hardware features exposed by each API and their equivalence, including non-graphics usage of the OpenGL pipeline. Comparative timing analysis is provided to validate our results. We believe that our study provides a better understanding of the graphics features that are useful for closing the performance gap between OpenGL and CUDA based implementations, and open new perspectives on implementing, solely with the OpenGL, graphics applications that require both intense but pre-specified memory access and 3D graphics renderingMestradoEngenharia de ComputaçãoMestre em Engenharia Elétrica[s.n.]Wu, Shin-Ting, 1958-Ferreira, Luiz Otavio SaraivaPereira, Márcio MachadoUniversidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de ComputaçãoPrograma de Pós-Graduação em Engenharia ElétricaUNIVERSIDADE ESTADUAL DE CAMPINASCamillo, Mario Santos, 1986-20182018-05-25T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf1 recurso online (83 p.) : il., digital, arquivo PDF.https://hdl.handle.net/20.500.12733/1634125CAMILLO, Mario Santos. Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem. 2018. 1 recurso online (83 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1634125. Acesso em: 15 mai. 2024.https://repositorio.unicamp.br/acervo/detalhe/1035903Requisitos do sistema: Software para leitura de arquivo em PDFporreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2018-09-04T16:05:22Zoai::1035903Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2018-09-04T16:05:22Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
Comparative study between OpenGL and CUDA on random accesses to the 1-ring neighborhood
title Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
spellingShingle Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
Camillo, Mario Santos, 1986-
Unidade de processamento gráfico
CUDA (Arquitetura de computador)
OpenGL (Interface de programação de aplicativos)
Cálculo tensorial
Simulação computacional
Graphical processing unit
CUDA (computer architecture)
OpenGL (Application programming interface)
Tension calculation
Computer Simulation
title_short Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
title_full Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
title_fullStr Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
title_full_unstemmed Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
title_sort Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
author Camillo, Mario Santos, 1986-
author_facet Camillo, Mario Santos, 1986-
author_role author
dc.contributor.none.fl_str_mv Wu, Shin-Ting, 1958-
Ferreira, Luiz Otavio Saraiva
Pereira, Márcio Machado
Universidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de Computação
Programa de Pós-Graduação em Engenharia Elétrica
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Camillo, Mario Santos, 1986-
dc.subject.por.fl_str_mv Unidade de processamento gráfico
CUDA (Arquitetura de computador)
OpenGL (Interface de programação de aplicativos)
Cálculo tensorial
Simulação computacional
Graphical processing unit
CUDA (computer architecture)
OpenGL (Application programming interface)
Tension calculation
Computer Simulation
topic Unidade de processamento gráfico
CUDA (Arquitetura de computador)
OpenGL (Interface de programação de aplicativos)
Cálculo tensorial
Simulação computacional
Graphical processing unit
CUDA (computer architecture)
OpenGL (Application programming interface)
Tension calculation
Computer Simulation
description Orientador: Wu Shin-Ting
publishDate 2018
dc.date.none.fl_str_mv 2018
2018-05-25T00:00:00Z
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.uri.fl_str_mv https://hdl.handle.net/20.500.12733/1634125
CAMILLO, Mario Santos. Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem. 2018. 1 recurso online (83 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1634125. Acesso em: 15 mai. 2024.
url https://hdl.handle.net/20.500.12733/1634125
identifier_str_mv CAMILLO, Mario Santos. Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem. 2018. 1 recurso online (83 p.) Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1634125. Acesso em: 15 mai. 2024.
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/1035903
Requisitos do sistema: Software para leitura de arquivo em PDF
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
1 recurso online (83 p.) : il., digital, arquivo PDF.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1799138527804391424