Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
Autor(a) principal: | |
---|---|
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 |