Repositório Institucional da Universidade Federal de Sergipe - RI/UFS: Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
Please use this identifier to cite or link to this item: http://ri.ufs.br/jspui/handle/riufs/11870
Title: Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
Authors: Nascimento, Artur Santos
Advisor: Dantas, Daniel Oliveira
Resumo : A computação heterogênea pode ser definida como um conjunto de dispositivos computacionais que processam informações de formas distintas e trabalham em conjunto. Algumas aplicações, como os jogos eletrônicos, utilizam-se da computação heterogênea (que neste caso, consiste na utilização da CPU em conjunto com o GPU) para renderizar cenas mais complexas e/ou realistas. O processamento de imagens também pode tirar proveito da grande quantidade de núcleos que as GPUs oferecem, executando esses processos de forma mais rápida. Para utilização desse poder de processamento, existem alguns frameworks como o OpenCL, que ajudam a usar computação paralela, encapsulando algumas complexidades do desenvolvedor. Este trabalho descreve o desenvolvimento do wrapper Python para a biblioteca VisionGL, de forma que se integre à biblioteca. Foi desenvolvido também um gerador de código automático para gerar o wrapper Python sempre que necessário. Além disso, É feito um teste comparativo de desempenho entre a versão Python criada e a versão C++ da VisionGL, que mostrou vantagem significante para versão Python na maioria dos testes executados.
Abstract: Heterogeneous computing can be defined as a set of computing devices that process information in different ways to work together. Some applications, like games, use heterogeneous computing (which in this case, consists on using CPU and GPU) to render more complex or realistic scenes. Image processing applications can also take advantage using the amount of cores that GPU offers to execute the processes more quickly. To use this processing power, there are some frameworks like OpenCL, that helps to use parallel computing, hiding some complexities from the developer. This work describes the development of a Python wrapper in a way it integrates the VisionGL library. An automatic code generator is developed to automatically generate the Python wrapper whenever needed and a comparative performance test between the C++ and Python versions of VisionGL is performed, which showed significant advantage to the Python version that was executed.
Biblioteca VisionGL
Citation: Nascimento, Artur Santos. Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL. São Cristóvão, SE, 2019. Monografia (graduação em Ciência da Computação) – Departamento de Computação, Centro de Ciências Exatas e Tecnologia, Universidade Federal de Sergipe, São Cristóvão, 2019