Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA

Detalhes bibliográficos
Autor(a) principal: Dorneles, Leonardo da Luz
Data de Publicação: 2021
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/224285
Resumo: O advento das GPUs para computação de propósito geral ampliou as possibilidades de utilização dessas arquiteturas para além da aceleração de aplicações gráficas. O campo de estudo de algoritmos de otimização tem especial interesse nessas arquiteturas, pois a aceleração desses algoritmos pode impactar significativamente na qualidade das soluções obtidas. Desde o início da última década, uma classe das técnicas de otimização que vem sendo adaptada com sucesso em GPUs é a dos Algoritmos Genéticos. Este trabalho apresenta duas formas distintas de se paralelizar algoritmos genéticos em GPUs com CUDA. Uma utiliza a memória compartilhada da GPU para obter cooperação na computação paralela enquanto a outra utiliza as funções de Warp-Shuffle da CUDA. Buscando avaliar cada uma dessas implementações em termos de desempenho, são realizados diversos experimentos variando os parâmetros de execução da aplicação (i.e granularidade do paralelismo, tamanho da população e número de dimensões do problema).
id UFRGS-2_6b0c15061626440cb5ec223fc508a8e6
oai_identifier_str oai:www.lume.ufrgs.br:10183/224285
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Dorneles, Leonardo da LuzDorn, MárcioBoiani, Mateus2021-07-21T04:24:17Z2021http://hdl.handle.net/10183/224285001128636O advento das GPUs para computação de propósito geral ampliou as possibilidades de utilização dessas arquiteturas para além da aceleração de aplicações gráficas. O campo de estudo de algoritmos de otimização tem especial interesse nessas arquiteturas, pois a aceleração desses algoritmos pode impactar significativamente na qualidade das soluções obtidas. Desde o início da última década, uma classe das técnicas de otimização que vem sendo adaptada com sucesso em GPUs é a dos Algoritmos Genéticos. Este trabalho apresenta duas formas distintas de se paralelizar algoritmos genéticos em GPUs com CUDA. Uma utiliza a memória compartilhada da GPU para obter cooperação na computação paralela enquanto a outra utiliza as funções de Warp-Shuffle da CUDA. Buscando avaliar cada uma dessas implementações em termos de desempenho, são realizados diversos experimentos variando os parâmetros de execução da aplicação (i.e granularidade do paralelismo, tamanho da população e número de dimensões do problema).The advent of GPUs for general-purpose computing has broadened the possibilities of the use of these architectures beyond the traditional acceleration of graphics-based applications. The research field of optimization algorithms has a special interest in these architectures because the acceleration of these algorithms may improve significantly the quality of the obtained solutions. Since the beginning of the last decade, one of the classes of optimization techniques that have been successfully adapted in the GPUs is that of Genetic Algorithms. This work presents two manners of implementing genetic algorithms in GPU using CUDA that exploit different levels of parallelism. In one of them, the cooperation of the parallel computation is achieved through the shared memory of the GPU, whereas the other one uses the CUDA Warp Shuffle functions. To evaluate the performance of these implementations, different experiments that change the execution parameters of the application (i.e the granularity, the population size, and the number of dimensions of the problem) are made.application/pdfporComputação evolucionáriaAlgoritmos genéticosMetaheuristicasMassively parallel computingCUDAGPUComparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDAComparing different parallel implementations of genetic algorithms in GPUs on CUDA info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2021Ciência da Computação: Ênfase em Engenharia da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001128636.pdf.txt001128636.pdf.txtExtracted Texttext/plain128061http://www.lume.ufrgs.br/bitstream/10183/224285/2/001128636.pdf.txtedace9ebaa70e1e922fc030397c0916aMD52ORIGINAL001128636.pdfTexto completoapplication/pdf811091http://www.lume.ufrgs.br/bitstream/10183/224285/1/001128636.pdfcef51bf9acae51ce1bc1aa3aa9fa70a7MD5110183/2242852022-02-22 05:07:07.45317oai:www.lume.ufrgs.br:10183/224285Repositório InstitucionalPUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.bropendoar:2022-02-22T08:07:07Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
dc.title.alternative.en.fl_str_mv Comparing different parallel implementations of genetic algorithms in GPUs on CUDA
title Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
spellingShingle Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
Dorneles, Leonardo da Luz
Computação evolucionária
Algoritmos genéticos
Metaheuristicas
Massively parallel computing
CUDA
GPU
title_short Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
title_full Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
title_fullStr Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
title_full_unstemmed Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
title_sort Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
author Dorneles, Leonardo da Luz
author_facet Dorneles, Leonardo da Luz
author_role author
dc.contributor.author.fl_str_mv Dorneles, Leonardo da Luz
dc.contributor.advisor1.fl_str_mv Dorn, Márcio
dc.contributor.advisor-co1.fl_str_mv Boiani, Mateus
contributor_str_mv Dorn, Márcio
Boiani, Mateus
dc.subject.por.fl_str_mv Computação evolucionária
Algoritmos genéticos
Metaheuristicas
topic Computação evolucionária
Algoritmos genéticos
Metaheuristicas
Massively parallel computing
CUDA
GPU
dc.subject.eng.fl_str_mv Massively parallel computing
CUDA
GPU
description O advento das GPUs para computação de propósito geral ampliou as possibilidades de utilização dessas arquiteturas para além da aceleração de aplicações gráficas. O campo de estudo de algoritmos de otimização tem especial interesse nessas arquiteturas, pois a aceleração desses algoritmos pode impactar significativamente na qualidade das soluções obtidas. Desde o início da última década, uma classe das técnicas de otimização que vem sendo adaptada com sucesso em GPUs é a dos Algoritmos Genéticos. Este trabalho apresenta duas formas distintas de se paralelizar algoritmos genéticos em GPUs com CUDA. Uma utiliza a memória compartilhada da GPU para obter cooperação na computação paralela enquanto a outra utiliza as funções de Warp-Shuffle da CUDA. Buscando avaliar cada uma dessas implementações em termos de desempenho, são realizados diversos experimentos variando os parâmetros de execução da aplicação (i.e granularidade do paralelismo, tamanho da população e número de dimensões do problema).
publishDate 2021
dc.date.accessioned.fl_str_mv 2021-07-21T04:24:17Z
dc.date.issued.fl_str_mv 2021
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.uri.fl_str_mv http://hdl.handle.net/10183/224285
dc.identifier.nrb.pt_BR.fl_str_mv 001128636
url http://hdl.handle.net/10183/224285
identifier_str_mv 001128636
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.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/224285/2/001128636.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/224285/1/001128636.pdf
bitstream.checksum.fl_str_mv edace9ebaa70e1e922fc030397c0916a
cef51bf9acae51ce1bc1aa3aa9fa70a7
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br
_version_ 1817724697409748992