Detecção de Padrões Paralelizáveis de Laços em Programas Sequenciais Utilizando Análise das Abstract Syntax Trees (AST) - Santos, Edevaldo; H. Cavalheiro, Gerson Geraldo (Anais da Escola Regional de Alto Desempenho da Região Sul (ERAD-RS); 2019: Anais da XIX Escola Regional de Alto Desempenho da Região Sul, 2019)
Com a evolução dos computadores com arquiteturas paralelas aumenta o uso de novas técnicas de programação para esta nova classe de computadores, emergindo as técnicas de programação paralela. Para explorar eficientemente o paralelismo é necessário conhecer quais são os gargalos em estruturas de programação em geral, para melhorar sua performance. Os laços são exemplos de estruturas que consomem uma larga porção do tempo de processamento, portanto, otimizando estas estruturas e dividindo as tarefas, consequentemente melhora-se o desempenho da execução do programa. Sendo assim, o presente trabalho propõe-se à detecção de padrões paralelos em programas sequenciais, por meio da análise das Abstract Syntax Trees (AST), e sugerindo pontos onde se podem inserir diretivas de paralelização nos códigos, de modo a torná-los paralelos. Os resultados das sugestões de paralelização da ferramenta serão comparados com versões conhecidas de benchmarks paralelos, tendo como entrada da ferramenta as versões sequenciais desses.