Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA
dc.contributor.advisor | Dorn, Márcio | pt_BR |
dc.contributor.author | Dorneles, Leonardo da Luz | pt_BR |
dc.date.accessioned | 2021-07-21T04:24:17Z | pt_BR |
dc.date.issued | 2021 | pt_BR |
dc.identifier.uri | http://hdl.handle.net/10183/224285 | pt_BR |
dc.description.abstract | 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). | pt_BR |
dc.description.abstract | 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. | en |
dc.format.mimetype | application/pdf | pt_BR |
dc.language.iso | por | pt_BR |
dc.rights | Open Access | en |
dc.subject | Computação evolucionária | pt_BR |
dc.subject | Massively parallel computing | en |
dc.subject | Algoritmos genéticos | pt_BR |
dc.subject | CUDA | en |
dc.subject | Metaheuristicas | pt_BR |
dc.subject | GPU | en |
dc.title | Comparando diferentes implementações paralelas de algoritmos genéticos em GPUs com CUDA | pt_BR |
dc.title.alternative | Comparing different parallel implementations of genetic algorithms in GPUs on CUDA | en |
dc.type | Trabalho de conclusão de graduação | pt_BR |
dc.contributor.advisor-co | Boiani, Mateus | pt_BR |
dc.identifier.nrb | 001128636 | pt_BR |
dc.degree.grantor | Universidade Federal do Rio Grande do Sul | pt_BR |
dc.degree.department | Instituto de Informática | pt_BR |
dc.degree.local | Porto Alegre, BR-RS | pt_BR |
dc.degree.date | 2021 | pt_BR |
dc.degree.graduation | Ciência da Computação: Ênfase em Engenharia da Computação: Bacharelado | pt_BR |
dc.degree.level | graduação | pt_BR |
Files in this item
This item is licensed under a Creative Commons License