MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS

Detalhes bibliográficos
Autor(a) principal: CLEOMAR PEREIRA DA SILVA
Data de Publicação: 2014
Tipo de documento: Tese
Idioma: por
Título da fonte: Repositório Institucional da PUC-RIO (Projeto Maxwell)
Texto Completo: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=24129@1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=24129@2
Resumo: A Programação Genética permite que computadores resolvam problemas automaticamente, sem que eles tenham sido programados para tal. Utilizando a inspiração no princípio da seleção natural de Darwin, uma população de programas, ou indivíduos, é mantida, modificada baseada em variação genética, e avaliada de acordo com uma função de aptidão (fitness). A programação genética tem sido usada com sucesso por uma série de aplicações como projeto automático, reconhecimento de padrões, controle robótico, mineração de dados e análise de imagens. Porém, a avaliação da gigantesca quantidade de indivíduos gerados requer excessiva quantidade de computação, levando a um tempo de execução inviável para problemas grandes. Este trabalho explora o alto poder computacional de unidades de processamento gráfico, ou GPUs, para acelerar a programação genética e permitir a geração automática de programas para grandes problemas. Propomos duas novas metodologias para se explorar a GPU em programação genética: compilação em linguagem intermediária e a criação de indivíduos em código de máquina. Estas metodologias apresentam vantagens em relação às metodologias tradicionais usadas na literatura. A utilização de linguagem intermediária reduz etapas de compilação e trabalha com instruções que estão bem documentadas. A criação de indivíduos em código de máquina não possui nenhuma etapa de compilação, mas requer engenharia reversa das instruções que não estão documentadas neste nível. Nossas metodologias são baseadas em programação genética linear e inspiradas em computação quântica. O uso de computação quântica permite uma convergência rápida, capacidade de busca global e inclusão da história passada dos indivíduos. As metodologias propostas foram comparadas com as metodologias existentes e apresentaram ganhos consideráveis de desempenho. Foi observado um desempenho máximo de até 2,74 trilhões de GPops (operações de programação genética por segundo) para o benchmark Multiplexador de 20 bits e foi possível estender a programação genética para problemas que apresentam bases de dados de até 7 milhões de amostras.
id PUC_RIO-1_58792dfe6eb4fec5bd33b79b16fd7d5d
oai_identifier_str oai:MAXWELL.puc-rio.br:24129
network_acronym_str PUC_RIO-1
network_name_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository_id_str 534
spelling info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisMASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS PROGRAMAÇÃO GENÉTICA MACIÇAMENTE PARALELA EM GPUS 2014-09-11MARCO AURELIO CAVALCANTI PACHECO27235831715lattes.cnpq.br/2283022405554044MARCO AURELIO CAVALCANTI PACHECO27235831715lattes.cnpq.br/2283022405554044DOUGLAS MOTA DIAS01126188719lattes.cnpq.br/3426085961007140DOUGLAS MOTA DIAS01126188719lattes.cnpq.br/3426085961007140MARCO AURELIO CAVALCANTI PACHECOESTEBAN WALTER GONZALEZ CLUANOEMI DE LA ROCQUE RODRIGUEZJOSE FRANCO MACHADO DO AMARALMARCO AURELIO CAVALCANTI PACHECOCLEOMAR PEREIRA DA SILVAPONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIROPPG EM ENGENHARIA ELÉTRICAPUC-RioBRA Programação Genética permite que computadores resolvam problemas automaticamente, sem que eles tenham sido programados para tal. Utilizando a inspiração no princípio da seleção natural de Darwin, uma população de programas, ou indivíduos, é mantida, modificada baseada em variação genética, e avaliada de acordo com uma função de aptidão (fitness). A programação genética tem sido usada com sucesso por uma série de aplicações como projeto automático, reconhecimento de padrões, controle robótico, mineração de dados e análise de imagens. Porém, a avaliação da gigantesca quantidade de indivíduos gerados requer excessiva quantidade de computação, levando a um tempo de execução inviável para problemas grandes. Este trabalho explora o alto poder computacional de unidades de processamento gráfico, ou GPUs, para acelerar a programação genética e permitir a geração automática de programas para grandes problemas. Propomos duas novas metodologias para se explorar a GPU em programação genética: compilação em linguagem intermediária e a criação de indivíduos em código de máquina. Estas metodologias apresentam vantagens em relação às metodologias tradicionais usadas na literatura. A utilização de linguagem intermediária reduz etapas de compilação e trabalha com instruções que estão bem documentadas. A criação de indivíduos em código de máquina não possui nenhuma etapa de compilação, mas requer engenharia reversa das instruções que não estão documentadas neste nível. Nossas metodologias são baseadas em programação genética linear e inspiradas em computação quântica. O uso de computação quântica permite uma convergência rápida, capacidade de busca global e inclusão da história passada dos indivíduos. As metodologias propostas foram comparadas com as metodologias existentes e apresentaram ganhos consideráveis de desempenho. Foi observado um desempenho máximo de até 2,74 trilhões de GPops (operações de programação genética por segundo) para o benchmark Multiplexador de 20 bits e foi possível estender a programação genética para problemas que apresentam bases de dados de até 7 milhões de amostras.Genetic Programming enables computers to solve problems automatically, without being programmed to it. Using the inspiration in the Darwin s Principle of natural selection, a population of programs or individuals is maintained, modified based on genetic variation, and evaluated according to a fitness function. Genetic programming has been successfully applied to many different applications such as automatic design, pattern recognition, robotic control, data mining and image analysis. However, the evaluation of the huge amount of individuals requires excessive computational demands, leading to extremely long computational times for large size problems. This work exploits the high computational power of graphics processing units, or GPUs, to accelerate genetic programming and to enable the automatic generation of programs for large problems. We propose two new methodologies to exploit the power of the GPU in genetic programming: intermediate language compilation and individuals creation in machine language. These methodologies have advantages over traditional methods used in the literature. The use of an intermediate language reduces the compilation steps, and works with instructions that are well-documented. The individuals creation in machine language has no compilation step, but requires reverse engineering of the instructions that are not documented at this level. Our methodologies are based on linear genetic programming and are inspired by quantum computing. The use of quantum computing allows rapid convergence, global search capability and inclusion of individuals past history. The proposed methodologies were compared against existing methodologies and they showed considerable performance gains. It was observed a maximum performance of 2,74 trillion GPops (genetic programming operations per second) for the 20-bit Multiplexer benchmark, and it was possible to extend genetic programming for problems that have databases with up to 7 million samples.PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIROCOORDENAÇÃO DE APERFEIÇOAMENTO DO PESSOAL DE ENSINO SUPERIORCONSELHO NACIONAL DE DESENVOLVIMENTO CIENTÍFICO E TECNOLÓGICOPROGRAMA DE EXCELENCIA ACADEMICAhttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=24129@1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=24129@2porreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-11-01T13:22:45Zoai:MAXWELL.puc-rio.br:24129Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342022-07-07T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false
dc.title.en.fl_str_mv MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS
dc.title.alternative.pt.fl_str_mv PROGRAMAÇÃO GENÉTICA MACIÇAMENTE PARALELA EM GPUS
title MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS
spellingShingle MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS
CLEOMAR PEREIRA DA SILVA
title_short MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS
title_full MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS
title_fullStr MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS
title_full_unstemmed MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS
title_sort MASSIVELY PARALLEL GENETIC PROGRAMMING ON GPUS
dc.creator.ID.none.fl_str_mv
dc.creator.Lattes.none.fl_str_mv
author CLEOMAR PEREIRA DA SILVA
author_facet CLEOMAR PEREIRA DA SILVA
author_role author
dc.contributor.advisor2ID.none.fl_str_mv 27235831715
dc.contributor.advisor1.fl_str_mv MARCO AURELIO CAVALCANTI PACHECO
dc.contributor.advisor1ID.fl_str_mv 27235831715
dc.contributor.advisor1Lattes.fl_str_mv lattes.cnpq.br/2283022405554044
dc.contributor.advisor2.fl_str_mv MARCO AURELIO CAVALCANTI PACHECO
dc.contributor.advisor2Lattes.fl_str_mv lattes.cnpq.br/2283022405554044
dc.contributor.advisor-co1.fl_str_mv DOUGLAS MOTA DIAS
dc.contributor.advisor-co1ID.fl_str_mv 01126188719
dc.contributor.advisor-co1Lattes.fl_str_mv lattes.cnpq.br/3426085961007140
dc.contributor.advisor-co2.fl_str_mv DOUGLAS MOTA DIAS
dc.contributor.advisor-co2ID.fl_str_mv 01126188719
dc.contributor.advisor-co2Lattes.fl_str_mv lattes.cnpq.br/3426085961007140
dc.contributor.referee1.fl_str_mv MARCO AURELIO CAVALCANTI PACHECO
dc.contributor.referee2.fl_str_mv ESTEBAN WALTER GONZALEZ CLUA
dc.contributor.referee3.fl_str_mv NOEMI DE LA ROCQUE RODRIGUEZ
dc.contributor.referee4.fl_str_mv JOSE FRANCO MACHADO DO AMARAL
dc.contributor.referee5.fl_str_mv MARCO AURELIO CAVALCANTI PACHECO
dc.contributor.author.fl_str_mv CLEOMAR PEREIRA DA SILVA
contributor_str_mv MARCO AURELIO CAVALCANTI PACHECO
MARCO AURELIO CAVALCANTI PACHECO
DOUGLAS MOTA DIAS
DOUGLAS MOTA DIAS
MARCO AURELIO CAVALCANTI PACHECO
ESTEBAN WALTER GONZALEZ CLUA
NOEMI DE LA ROCQUE RODRIGUEZ
JOSE FRANCO MACHADO DO AMARAL
MARCO AURELIO CAVALCANTI PACHECO
description A Programação Genética permite que computadores resolvam problemas automaticamente, sem que eles tenham sido programados para tal. Utilizando a inspiração no princípio da seleção natural de Darwin, uma população de programas, ou indivíduos, é mantida, modificada baseada em variação genética, e avaliada de acordo com uma função de aptidão (fitness). A programação genética tem sido usada com sucesso por uma série de aplicações como projeto automático, reconhecimento de padrões, controle robótico, mineração de dados e análise de imagens. Porém, a avaliação da gigantesca quantidade de indivíduos gerados requer excessiva quantidade de computação, levando a um tempo de execução inviável para problemas grandes. Este trabalho explora o alto poder computacional de unidades de processamento gráfico, ou GPUs, para acelerar a programação genética e permitir a geração automática de programas para grandes problemas. Propomos duas novas metodologias para se explorar a GPU em programação genética: compilação em linguagem intermediária e a criação de indivíduos em código de máquina. Estas metodologias apresentam vantagens em relação às metodologias tradicionais usadas na literatura. A utilização de linguagem intermediária reduz etapas de compilação e trabalha com instruções que estão bem documentadas. A criação de indivíduos em código de máquina não possui nenhuma etapa de compilação, mas requer engenharia reversa das instruções que não estão documentadas neste nível. Nossas metodologias são baseadas em programação genética linear e inspiradas em computação quântica. O uso de computação quântica permite uma convergência rápida, capacidade de busca global e inclusão da história passada dos indivíduos. As metodologias propostas foram comparadas com as metodologias existentes e apresentaram ganhos consideráveis de desempenho. Foi observado um desempenho máximo de até 2,74 trilhões de GPops (operações de programação genética por segundo) para o benchmark Multiplexador de 20 bits e foi possível estender a programação genética para problemas que apresentam bases de dados de até 7 milhões de amostras.
publishDate 2014
dc.date.issued.fl_str_mv 2014-09-11
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=24129@1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=24129@2
url https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=24129@1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=24129@2
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.none.fl_str_mv PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO
dc.publisher.program.fl_str_mv PPG EM ENGENHARIA ELÉTRICA
dc.publisher.initials.fl_str_mv PUC-Rio
dc.publisher.country.fl_str_mv BR
publisher.none.fl_str_mv PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO
dc.source.none.fl_str_mv reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)
instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron:PUC_RIO
instname_str Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron_str PUC_RIO
institution PUC_RIO
reponame_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
collection Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository.name.fl_str_mv Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
repository.mail.fl_str_mv
_version_ 1748324919359307776