Vetorização e Análise de Algoritmos Paralelos para a Migração Kirchhoff Pré-empilhamento em Tempo - Alves Prado da Silva, Rodrigo; Melo Alves, Maicon; Barbosa Bentes, Cristiana; de Assumpção Drummond, Lúcia Maria (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD), 2017)
A Migração Kirchhoff Pré-empilhamento em Tempo (ou PKTM, do inglês Pre-stack Kirchhoff Time Migration) é parte central do processo de exploração de petróleo. Como o PKTM é computacionalmente intensivo, muitos trabalhos propuseram o uso de aceleradores como GPU (Graphical Processing Units) para reduzir o seu tempo de execução. Embora os processadores modernos possuam um recurso de aceleração vetorial, apenas um trabalho avaliou o uso deste recurso para acelerar o PKTM. Contudo, este trabalho avaliou apenas a versão sequencial desta aplicação. Nesse trabalho, propõe-se uma analise da vetorização de duas versões paralelas do PKTM. Para a primeira versão paralela, foi utilizado OpenMP e para a segunda, foi utilizado MPI. Em relação à vetorização, foram consideradas a vetorização automática, executada pelo compilador, e a vetorização manual, implementada pelo programador. Uma análise experimental mostrou que a vetorização automática no código com o OpenMP produziu melhores resultados do que os obtidos no código sequencial e no código com MPI. Assim, foram propostas algumas otimizações que permitiram que as versões sequenciais e com MPI obtivessem um desempenho similar ao alcançado no código com OpenMP.