Avaliação de estratégias de paralelismo em simulação de meios porosos

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: Lucca, Natiele
Orientador(a): Schepke, Claudio
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Pampa
Programa de Pós-Graduação: Mestrado Profissional em Engenharia de Software
Departamento: Campus Alegrete
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.unipampa.edu.br/jspui/handle/riu/7831
Resumo: A computação de alto desempenho provê a aceleração de aplicações científicas através do uso de paralelismo. Aplicações deste tipo geralmente demandam de um grande tempo de computação para uma versão com um único fluxo de execução de código. Diferentes modelos de programação paralela podem ser utilizados para a execução concorrente de código. Em geral, opta-se, em aplicações científicas, pela divisão do processamento dos dados. O objetivo desta dissertação é avaliar diferentes abordagens de paralelismo. Para tanto, como estudo de caso, as abordagens foram avaliadas em uma aplicação de meios porosos que provê a simulação de secagem de grãos. Foram implementadas 4 versões: OpenMP parallel do, target e teams e OpenACC parallel do. As versões OpenMP Target e OpenACC exigiram alterações na estrutura no código-fonte. Foram avaliados três ta- manhos de malha para cada versão implementada, variando o número de threads em 2, 4, 8, 16 e 32. Os resultados obtidos mostram que todas as versões apresentaram ganho de desempenho. O melhor resultado para a malha I foi o caso de teste Target 32 threads com speedup de 3,11. Para a malha II o melhor resultado foi o caso de teste Teams 16 threads com speedup de 6,27. Para a malha III o resultado com maior speedup foi 7,54 para o caso de teste OpenACC. Foi realizada a análise estatística dos resultados obtidos com a distribuição t de student. A análise validou o ganho de desempenho. Também foram gerados traços das execuções paralelas que permitiram, através da ferramenta Vampir, visualizar as sincronizações entre as operações concorrentes.