Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL

Detalhes bibliográficos
Autor(a) principal: Nascimento, Artur Santos
Data de Publicação: 2019
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFS
Texto Completo: http://ri.ufs.br/jspui/handle/riufs/11870
Resumo: 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.
id UFS-2_77ecfb8b0f1308229496997fb056a9ed
oai_identifier_str oai:oai:ri.ufs.br:repo_01:riufs/11870
network_acronym_str UFS-2
network_name_str Repositório Institucional da UFS
repository_id_str
spelling Nascimento, Artur SantosDantas, Daniel Oliveira2019-08-30T12:09:47Z2019-08-30T12:09:47Z2019-06-19Nascimento, 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, 2019http://ri.ufs.br/jspui/handle/riufs/11870Heterogeneous 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.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.São Cristóvão, SEporCiência da computaçãoEnsino de ciência da computaçãoComputação heterogêneaWrapperOpenCLPythonCódigo pythonPyOpenCLSoftwareBiblioteca VisionGLHeterogeneous computingWrapperOpenCLPythonPyOpenCLCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOGerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGLinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal de SergipeDCOMP - Departamento de Computação – Ciência da Computação – São Cristóvão - Presencialreponame:Repositório Institucional da UFSinstname:Universidade Federal de Sergipe (UFS)instacron:UFSinfo:eu-repo/semantics/openAccessLICENSElicense.txtlicense.txttext/plain; charset=utf-81475https://ri.ufs.br/jspui/bitstream/riufs/11870/1/license.txt098cbbf65c2c15e1fb2e49c5d306a44cMD51ORIGINALArtur_Santos_Nascimento.pdfArtur_Santos_Nascimento.pdfapplication/pdf3146061https://ri.ufs.br/jspui/bitstream/riufs/11870/2/Artur_Santos_Nascimento.pdf316d33fb81b63d56b282593c55dee552MD52TEXTArtur_Santos_Nascimento.pdf.txtArtur_Santos_Nascimento.pdf.txtExtracted texttext/plain122673https://ri.ufs.br/jspui/bitstream/riufs/11870/3/Artur_Santos_Nascimento.pdf.txt61cdb95190f84f9bd0da8d49cc02b059MD53THUMBNAILArtur_Santos_Nascimento.pdf.jpgArtur_Santos_Nascimento.pdf.jpgGenerated Thumbnailimage/jpeg1350https://ri.ufs.br/jspui/bitstream/riufs/11870/4/Artur_Santos_Nascimento.pdf.jpgad8d381d76e42a93507bbd8dd3bdab83MD54riufs/118702019-08-30 09:09:48.152oai:oai:ri.ufs.br:repo_01:riufs/11870TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvcihlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTZXJnaXBlIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyIHNldSB0cmFiYWxobyBubyBmb3JtYXRvIGVsZXRyw7RuaWNvLCBpbmNsdWluZG8gb3MgZm9ybWF0b3Mgw6F1ZGlvIG91IHbDrWRlby4KClZvY8OqIGNvbmNvcmRhIHF1ZSBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFNlcmdpcGUgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIHNldSB0cmFiYWxobyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byBwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIHRhbWLDqW0gY29uY29yZGEgcXVlIGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU2VyZ2lwZSBwb2RlIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgZGUgc2V1IHRyYWJhbGhvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIHNldSB0cmFiYWxobyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gVm9jw6ogdGFtYsOpbSBkZWNsYXJhIHF1ZSBvIGRlcMOzc2l0bywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgbsOjbyBpbmZyaW5nZSBkaXJlaXRvcyBhdXRvcmFpcyBkZSBuaW5ndcOpbS4KCkNhc28gbyB0cmFiYWxobyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU2VyZ2lwZSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvLgoKQSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTZXJnaXBlIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUocykgb3UgbyhzKSBub21lKHMpIGRvKHMpIApkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRvIHRyYWJhbGhvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIGNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuIAo=Repositório InstitucionalPUBhttps://ri.ufs.br/oai/requestrepositorio@academico.ufs.bropendoar:2019-08-30T12:09:48Repositório Institucional da UFS - Universidade Federal de Sergipe (UFS)false
dc.title.pt_BR.fl_str_mv Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
title Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
spellingShingle Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
Nascimento, Artur Santos
Ciência da computação
Ensino de ciência da computação
Computação heterogênea
Wrapper
OpenCL
Python
Código python
PyOpenCL
Software
Biblioteca VisionGL
Heterogeneous computing
Wrapper
OpenCL
Python
PyOpenCL
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
title_short Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
title_full Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
title_fullStr Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
title_full_unstemmed Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
title_sort Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
author Nascimento, Artur Santos
author_facet Nascimento, Artur Santos
author_role author
dc.contributor.author.fl_str_mv Nascimento, Artur Santos
dc.contributor.advisor1.fl_str_mv Dantas, Daniel Oliveira
contributor_str_mv Dantas, Daniel Oliveira
dc.subject.por.fl_str_mv Ciência da computação
Ensino de ciência da computação
Computação heterogênea
Wrapper
OpenCL
Python
Código python
PyOpenCL
Software
Biblioteca VisionGL
topic Ciência da computação
Ensino de ciência da computação
Computação heterogênea
Wrapper
OpenCL
Python
Código python
PyOpenCL
Software
Biblioteca VisionGL
Heterogeneous computing
Wrapper
OpenCL
Python
PyOpenCL
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
dc.subject.eng.fl_str_mv Heterogeneous computing
Wrapper
OpenCL
Python
PyOpenCL
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
description 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.
publishDate 2019
dc.date.accessioned.fl_str_mv 2019-08-30T12:09:47Z
dc.date.available.fl_str_mv 2019-08-30T12:09:47Z
dc.date.issued.fl_str_mv 2019-06-19
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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
dc.identifier.uri.fl_str_mv http://ri.ufs.br/jspui/handle/riufs/11870
identifier_str_mv 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
url http://ri.ufs.br/jspui/handle/riufs/11870
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.initials.fl_str_mv Universidade Federal de Sergipe
dc.publisher.department.fl_str_mv DCOMP - Departamento de Computação – Ciência da Computação – São Cristóvão - Presencial
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFS
instname:Universidade Federal de Sergipe (UFS)
instacron:UFS
instname_str Universidade Federal de Sergipe (UFS)
instacron_str UFS
institution UFS
reponame_str Repositório Institucional da UFS
collection Repositório Institucional da UFS
bitstream.url.fl_str_mv https://ri.ufs.br/jspui/bitstream/riufs/11870/1/license.txt
https://ri.ufs.br/jspui/bitstream/riufs/11870/2/Artur_Santos_Nascimento.pdf
https://ri.ufs.br/jspui/bitstream/riufs/11870/3/Artur_Santos_Nascimento.pdf.txt
https://ri.ufs.br/jspui/bitstream/riufs/11870/4/Artur_Santos_Nascimento.pdf.jpg
bitstream.checksum.fl_str_mv 098cbbf65c2c15e1fb2e49c5d306a44c
316d33fb81b63d56b282593c55dee552
61cdb95190f84f9bd0da8d49cc02b059
ad8d381d76e42a93507bbd8dd3bdab83
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFS - Universidade Federal de Sergipe (UFS)
repository.mail.fl_str_mv repositorio@academico.ufs.br
_version_ 1846687798362374144