Trabalho de conclusão de curso de graduação
Análise de desempenho de padrões de programação paralela para GPUs baseados em diretivas
Fecha
2023-01-13Autor
Neves Neto, Sílvio de Souza [UNIFESP]
Institución
Resumen
O uso de GPUs aplicados na solução de problemas de programação de propósito geral, bem como seu uso na forma de um sistema heterogêneo, contendo ambas CPUs e GPUs, tem se popularizado cada vez mais, especialmente na área de computação de alto desempenho. Ao servirem como processadores altamente paralelos, as GPUs apresentam enorme potencial em aplicações que realizam tarefas computacionalmente intensivas e que podem ser executadas de forma não-sequencial. Os modelos inicialmente disponíveis para programação de GPUs exigiam profundo conhecimento da arquitetura do hardware utilizado, gerando codificação com elevado grau de complexidade. Para minimizar essa dificuldade, modelos de programação vêm sendo desenvolvidos com o objetivo de abstrair a complexidade da criação de programas para arquiteturas de sistema heterogêneo e proporcionar portabilidade entre as diferentes arquiteturas, mantendo o melhor desempenho possível. Entre eles, os padrões OpenMP e OpenACC se destacam pela popularidade já alcançada, sendo ambos baseados em diretivas de programação. Este trabalho busca fazer uma análise comparativa entre estes dois padrões do ponto de vista de desempenho computacional. As avaliações foram conduzidas a partir da programação aderente aos padrões citados, aplicada a três algoritmos conhecidos, com execução em arquitetura que faz uso de GPU. Os resultados, limita-dos à análise dos casos de estudo, mostram uma clara vantagem em desempenho para o uso de OpenACC.