Dissertação

Gacuda - a Genetic Algorithm Framework over GPUs EVALUATED

Os processadores gráficos (GPUs) têm vindo a evoluir rapidamente desde o seu aparecimento. Inicialmente apenas destinados a providenciar aceleração por hardware nos cálculos de gráficos 2D e 3D, estes servem agora também para providenciar aceleração aos cálculos genéricos tradicionalmente processados pelo processador central (CPU) do computador. No entanto, a programação sobre GPUs requer o conhecimento da arquitetura e do modelo de programação destes. O tempo necessário para obter estes conhecimentos pode fazer com que muitas vezes o GPU não seja a plataforma escolhida, mesmo em problemas altamente paralelizáveis onde teria melhor desempenho do que correndo no CPU. Normalmente, devido ao elevado número de unidades de processamento dos GPUs, em problemas onde é necessário executar a mesma operação várias vezes em dados diferentes têm um desempenho muito superior quando executados no GPU em relação à sua execução no CPU. Um exemplo de tais problemas são os algoritmos genéticos, problemas visados por este trabalho. Nesta dissertação apresenta-se Gacuda, um motor de algoritmos genéticos que corre sobre GPUs. Este possibilita a utilização do GPU para executar algoritmos genéticos de uma maneira mais simples, escondendo a complexidade da programação do GPU para o utilizador do motor através da API fornecida mas ao mesmo tempo mantendo os benefícios em termos de desempenho. Em termos de código, apenas é necessário desenvolver um pequeno conjunto de funções na linguagem de programação C, sem detalhes sobre o GPU.
GPU, algoritmo genético, CUDA, motor

Maio 25, 2016, 9:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

José Carlos Alves Pereira Monteiro

Departamento de Engenharia Informática (DEI)

Professor Associado