Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/93895
DC FieldValueLanguage
dc.contributor.advisorCorreia, João Nuno Gonçalves Costa Cavaleiro-
dc.contributor.advisorMartins, Tiago Filipe dos Santos-
dc.contributor.authorBaeta, Francisco José Rodrigues-
dc.date.accessioned2021-03-29T22:02:24Z-
dc.date.available2021-03-29T22:02:24Z-
dc.date.issued2020-11-11-
dc.date.submitted2021-03-29-
dc.identifier.urihttps://hdl.handle.net/10316/93895-
dc.descriptionDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia-
dc.description.abstractInspirada pela natureza, a Programação Genética (GP) constitui um método automático de resolução de problemas que otimiza soluções através da evolução de um conjunto de programas de computador [39]. Este processo de otimização, apesar de computacionalmente dispendioso, é também extremamente paralelizável. Ao longo dos anos, vários modelos de programação foram aplicados a GP de modo a aproveitar este potencial de paralelização. Mais especificamente, foi demonstrado que a vetorização de dados relativos à avaliação de aptidão dos indivíduos em GP beneficia do uso de processadores com capacidades de paralelização como as Unidades de Processamento Gráfico (GPUs).No presente trabalho recorremos à plataforma TensorFlow para investigar as vantagens da aplicação deste método de vetorização a vários problemas de GP, assim como para analisar ganhos de desempenho da GPU sobre o CPU. Para este propósito, foi desenvolvido um motor de GP independente, TensorGP, assim como um ambiente de testes com o objetivo de extrair resultados comparativos entre diversas abordagens tanto vetorizadas como iterativas.Problemas de regressão simbólica e evolução de imagens foram usados para validar o correto funcionamento das funcionalidades implementadas. Os resultados experimentais obtidos demonstram que tirando partido do modelo de execução do TensorFlow para a vetorização de domínios de avaliação extensos, ganhos de desempanho até duas ordens de grandeza são alcançáveis em GPU comparativamente com o CPU. Para além do mais, testes exploratórios realizados no âmbito de arte evolucionária comprovam a viabilidade do motor para efeitos de produção artística.por
dc.description.abstractGenetic Programming (GP) is an automatic problem-solving technique inspired by nature, that optimizes solutions through the evolution of a population of computer programs. This process of optimization, although computationally expensive, is also classified as “embarrassingly parallel”. For many years researchers attempted to exploit this tendency towards concurrency by employing various types of parallel programming paradigms. Particularly, vectorization of fitness evaluation data points was shown to benefit from the use of commercially available parallel architectures such as the Graphics Processing Unit (GPU), to speed up many GP related systems.In this work, we take advantage of the TensorFlow framework to investigate the benefits of applying this data vectorization method to different scenarios and determine respective GPU performance gains over a Central Processing Unit (CPU). For this purpose, an independent GP engine was developed, TensorGP, along with a testing suite to extract comparative results across different iterative and vectorized approaches.Symbolic regression problems and expression-based image evolution were used to validate system functionality. Our performance benchmarks demonstrate that by exploiting the TensorFlow execution model, performance gains of up to two orders of magnitude can be achieved on the GPU when compared to the CPU, for the vectorization of large problem domains. Furthermore, exploratory experimentation in the context of evolutionary art illustrates the engine’s feasibility towards artistic production.eng
dc.language.isoeng-
dc.rightsopenAccess-
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/-
dc.subjectGP-GPUpor
dc.subjectProgramação Genéticapor
dc.subjectTensorFlowpor
dc.subjectVetorizaçãopor
dc.subjectArte Evolucionáriapor
dc.subjectGP-GPUeng
dc.subjectGenetic Programmingeng
dc.subjectTensorFloweng
dc.subjectVectorizationeng
dc.subjectEvolutionary Arteng
dc.titleGenetic Programming in Graphic Processing Units with TensorFloweng
dc.title.alternativeProgramação Genética em Unidades de Processamento Gráfico com TensorFlowpor
dc.typemasterThesis-
degois.publication.locationDEI-FCTUC-
degois.publication.titleGenetic Programming in Graphic Processing Units with TensorFloweng
dc.peerreviewedyes-
dc.identifier.tid202686671-
thesis.degree.disciplineInformática-
thesis.degree.grantorUniversidade de Coimbra-
thesis.degree.level1-
thesis.degree.nameMestrado em Engenharia Informática-
uc.degree.grantorUnitFaculdade de Ciências e Tecnologia - Departamento de Engenharia Informática-
uc.degree.grantorID0500-
uc.contributor.authorBaeta, Francisco José Rodrigues::0000-0002-9535-2329-
uc.degree.classification18-
uc.degree.presidentejuriFurtado, Pedro Nuno San-Bento-
uc.degree.elementojuriTeixeira, César Alexandre Domingues-
uc.degree.elementojuriCorreia, João Nuno Gonçalves Costa Cavaleiro-
uc.contributor.advisorCorreia, João Nuno Gonçalves Costa Cavaleiro::0000-0001-5562-1996-
uc.contributor.advisorMartins, Tiago Filipe dos Santos-
item.openairecristypehttp://purl.org/coar/resource_type/c_18cf-
item.openairetypemasterThesis-
item.cerifentitytypePublications-
item.grantfulltextopen-
item.fulltextCom Texto completo-
item.languageiso639-1en-
crisitem.advisor.researchunitCISUC - Centre for Informatics and Systems of the University of Coimbra-
crisitem.advisor.parentresearchunitFaculty of Sciences and Technology-
crisitem.advisor.orcid0000-0001-5562-1996-
Appears in Collections:UC - Dissertações de Mestrado
Files in This Item:
File Description SizeFormat
FranciscoBaeta.pdf67.54 MBAdobe PDFView/Open
Show simple item record

Page view(s)

157
checked on Apr 16, 2024

Download(s)

53
checked on Apr 16, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons