Please use this identifier to cite or link to this item: http://repositorio.unicamp.br/jspui/handle/REPOSIP/332118
Type: DISSERTAÇÃO DIGITAL
Degree Level: Mestrado
Title: Estudo comparativo entre OpenGL e CUDA em acessos aleatórios à vizinhança de primeira ordem
Title Alternative: Comparative study between OpenGL and CUDA on random accesses to the 1-ring neighborhood
Author: Camillo, Mario Santos, 1986-
Advisor: Wu, Shin-Ting, 1958-
Abstract: Resumo: 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 3D

Abstract: 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 rendering
Subject: Unidade de processamento gráfico
CUDA (Arquitetura de computador)
OpenGL (Interface de programação de aplicativos)
Cálculo tensorial
Simulação computacional
Language: Português
Editor: [s.n.]
Citation: 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.
Date Issue: 2018
Appears in Collections:FEEC - Tese e Dissertação

Files in This Item:
File SizeFormat 
Camillo_MarioSantos_M.pdf3.13 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.