Paralelização do algoritmo parametrizações progressivas para arquiteturas multicore
Arquivos
Data de defesa
Autor(a)
Orientador(a)
Título do periódico
ISSN
Título do volume
Nome da instituição
Departamento
Programa
Agência de fomento
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.
