Genetic Programming in Graphic Processing Units with TensorFlow

Detalhes bibliográficos
Autor(a) principal: Baeta, Francisco José Rodrigues
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10316/93895
Resumo: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
id RCAP_6d633e9cb7090ab66107dfafee5fcf69
oai_identifier_str oai:estudogeral.uc.pt:10316/93895
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Genetic Programming in Graphic Processing Units with TensorFlowProgramação Genética em Unidades de Processamento Gráfico com TensorFlowGP-GPUProgramação GenéticaTensorFlowVetorizaçãoArte EvolucionáriaGP-GPUGenetic ProgrammingTensorFlowVectorizationEvolutionary ArtDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaInspirada 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.Genetic 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.2020-11-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/93895http://hdl.handle.net/10316/93895TID:202686671engBaeta, Francisco José Rodriguesinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2022-05-25T10:22:37Zoai:estudogeral.uc.pt:10316/93895Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:12:45.462113Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Genetic Programming in Graphic Processing Units with TensorFlow
Programação Genética em Unidades de Processamento Gráfico com TensorFlow
title Genetic Programming in Graphic Processing Units with TensorFlow
spellingShingle Genetic Programming in Graphic Processing Units with TensorFlow
Baeta, Francisco José Rodrigues
GP-GPU
Programação Genética
TensorFlow
Vetorização
Arte Evolucionária
GP-GPU
Genetic Programming
TensorFlow
Vectorization
Evolutionary Art
title_short Genetic Programming in Graphic Processing Units with TensorFlow
title_full Genetic Programming in Graphic Processing Units with TensorFlow
title_fullStr Genetic Programming in Graphic Processing Units with TensorFlow
title_full_unstemmed Genetic Programming in Graphic Processing Units with TensorFlow
title_sort Genetic Programming in Graphic Processing Units with TensorFlow
author Baeta, Francisco José Rodrigues
author_facet Baeta, Francisco José Rodrigues
author_role author
dc.contributor.author.fl_str_mv Baeta, Francisco José Rodrigues
dc.subject.por.fl_str_mv GP-GPU
Programação Genética
TensorFlow
Vetorização
Arte Evolucionária
GP-GPU
Genetic Programming
TensorFlow
Vectorization
Evolutionary Art
topic GP-GPU
Programação Genética
TensorFlow
Vetorização
Arte Evolucionária
GP-GPU
Genetic Programming
TensorFlow
Vectorization
Evolutionary Art
description Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
publishDate 2020
dc.date.none.fl_str_mv 2020-11-11
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10316/93895
http://hdl.handle.net/10316/93895
TID:202686671
url http://hdl.handle.net/10316/93895
identifier_str_mv TID:202686671
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134023051640832