GMAP

Gabriell Araujo foi aprovado em sua defesa de dissertação

No dia 4 de abril de 2022, Gabriell Alves de Araujo, foi aprovado na defesa da sua dissertação de mestrado intitulada “Data and Stream Parallelism Optimization on GPUs”, na Escola Politécnica da Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS). Atualmente, Gabriel é aluno de doutorado do GMAP. A defesa da dissertação foi realizada através de videoconferência devido aos acontecimentos da Covid-19.


Resumo da dissertação:

Atualmente, a maioria dos computadores estão equipados com Unidades de Processamento Gráfico (GPUs) para fornecer paralelismo em grande escala a um baixo custo. A programação paralela é necessária para explorar plenamente esta capacidade arquitectónica. Contudo, representa um desafio para os programadores, uma vez que requer algoritmos de refatoração, concepção de técnicas de paralelismo, e conhecimentos específicos de hardware. Além disso, o paralelismo GPU é ainda mais desafiante, visto que as GPUs têm características peculiares de hardware e empregam um paradigma de paralelismo chamado programação multi-core. Neste sentido, a investigação em computação paralela tem-se concentrado no estudo de técnicas eficientes de programação para GPUs e no desenvolvimento de abstrações que reduzem o esforço na escrita de código paralelo. SPar é uma linguagem específica de domínio (DSL) que vai nesta direção. Pode ser utilizada para expressar o paralelismo de fluxo de uma forma mais simples, sem afetar significativamente o desempenho. SPar oferece abstrações de alto nível através de anotações de código enquanto o compilador SPar gera código paralelo. SPar recebeu recentemente uma extensão para permitir a geração de código paralelo para CPUs e GPUs em aplicações de stream. Os núcleos da CPU controlam o fluxo de dados no código gerado. Ao mesmo tempo, a GPU aplica um paralelismo maciço no cálculo de cada elemento de fluxo. Para este fim, o SPar gera código para uma biblioteca intermédia chamada GSParLib. É uma API paralela orientada para padrões que fornece um modelo de programação unificado visando o tempo de execução CUDA e OpenCL, permitindo a exploração do paralelismo de diferentes GPUs de fornecedores. Contudo, o suporte da GPU tanto para SPar como para GSParLib está ainda nos seus passos iniciais; apenas características básicas são fornecidas, e nenhum estudo avaliou exaustivamente o desempenho de SPar e GSParLib. Este trabalho contribui através da paralelização de benchmarks representativos de computação de alto desempenho (HPC) e da implementação de novas funcionalidades e optimizações para GPUs. O nosso conjunto de melhorias abrange a maioria das limitações críticas da GSParLib em relação ao desempenho e programabilidade. Nas nossas experiências, a optimização a versão da GSParLib conseguiu alcançar até 54.500,00% de melhoria de velocidade em relação à versão original da GSParLib sobre parâmetros de referência de paralelismo de dados e até 718,43% de melhoria de rendimento em parâmetros de referência de paralelismo de stream.


Comitê de avaliação:

Prof. Dr. Horacio Gonzalez-Velez (Cloud Competency Centre/NCI)

Prof. Dr. Tiago Coelho Ferreto (PUCRS)

Orientadores:

Prof. Dr. Luiz Gustavo Fernandes (PUCRS – Orientador)

Prof. Dr. Dalvan Griebler (PUCRS – Co-Orientador)


Por: Gabriella Andrade