Paralelização do algoritmo parametrizações progressivas para arquiteturas multicore

Carregando...
Imagem de Miniatura

Data de defesa

Autor(a)



Orientador(a)


Título do periódico

ISSN

Título do volume

Nome da instituição

Universidade do Vale do Rio dos Sinos

Departamento

Programa

Agência de fomento

Resumo

Plataformas com processadores multicore se tornaram comuns há alguns anos, difundindo assim a computação paralela. Com a popularização das GPUs, se tornou comum encontrar computadores com uma placa gráfica, permitindo processamento heterogêneo quando demandado. Utilizando métodos de comunicação e sincronização entre os processadores da plataforma heterogênea, é possível atingir ganhos de desempenho antes viáveis somente em clusters e grids. Cada processador dentro da plataforma heterogênea se comporta de uma maneira, portanto, o balanceamento entre os diferentes tipos de cargas de processamento é essencial. Um problema que pode ser resolvido com esse tipo de computação é a parametrização de malhas triangulares. O processo de parametrização visa criar uma bijeção entre duas superfícies com uma equivalência de pontos para resolver diversos problemas da computação gráfica. O mais recente algoritmo de parametrização é o algoritmo de parametrizações progressivas. Esse algoritmo tem como princípio a rápida convergência para o resultado ideal da parametrização. Esse trabalho visa explorar o potencial paralelo do algoritmo em plataformas heterogêneas utilizando CPU e GPU. A implementação do algoritmo em paralelo na CPU foi realizada utilizando Intel TBB e na GPU as bibliotecas cuSolver, ArrayFire, MAGMA, ViennaCL e CUSP foram utilizadas. Com os testes realizados, verificou-se que o comportamento do algoritmo em GPU não é eficiente com as soluções existentes. Uma nova proposta com otimização do paralelismo em CPU foi então aplicada e quando configurada para 16 threads atingiu um speedup de até 6 vezes em algumas etapas do algoritmo em comparação com o algoritmo sequencial.