Gerador automático de código Python para processamento heterogêneo de imagens em OpenCL por meio da biblioteca VisionGL
| Autor(a) principal: | |
|---|---|
| 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 |