Genetic Programming in Graphic Processing Units with TensorFlow
Autor(a) principal: | |
---|---|
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 |