10 jan 2024
14:00 Defesa de Mestrado Auditório do IC3
Tema
Uma Linguagem para Geração de Padrões para Detecção e Reescrita em Compiladores MLIR
Aluno
Luciano Gigantelli Zago
Orientador / Docente
Guido Costa Souza de Araújo - Coorientador: Márcio Machado Pereira
Breve resumo
A correspondência e reescrita de padrões é uma etapa de otimização do compilador que identifica idiomas de código predefinidos e os substitui por código otimizado, oferecendo ganhos de desempenho em várias aplicações. Avanços recentes levaram a ferramentas que agilizam a correspondência de padrões e otimizações de reescrita. Uma dessas técnicas, Source Matching and Rewriting (SMR), emprega uma abordagem centrada no usuário e baseada em código-fonte para correspondência e reescrita de padrões, eliminando a necessidade de intervenção especializada do compilador. No entanto, alcançar uma cobertura abrangente de correspondência de padrões com SMR requer uma especificação meticulosa de todas as variações linguísticas possíveis por parte do usuário, uma tarefa trabalhosa e propensa a erros.
Esta pesquisa apresenta a Pattern Generation Language (PGL), que visa simplificar a geração automática de variações de padrões. PGL é uma linguagem de alto nível que permite ao usuário definir padrões de programa que conduzem à correspondência e reescrita de padrões no contexto de SMR. Adicionalmente, desenvolvemos o PGL Compiler (PGC), uma ferramenta compatível com SMR que automatiza a criação de variações idiomáticas e a síntese de padrões definidos na linguagem PGL. Embora o PGC se concentre principalmente na geração de padrões de entrada para SMR, sua flexibilidade permite a adaptação para outras ferramentas de correspondência e reescrita de padrões, mostrando sua versatilidade e potencial para diversas aplicações.
Os resultados experimentais evidenciam que o PGL é capaz de identificar padrões em códigos em Fortran e C, substituindo-os por chamadas à biblioteca BLAS e, assim, aprimorando o desempenho dos programas.
Banca examinadora
Titulares:
Guido Costa Souza de Araújo | IC/UNICAMP |
Wesley Attrot | CCE/UEL |
Alexandro José Baldassin | IGCE/UNESP |
Suplentes:
Sandro Rigo | IC/UNICAMP |
Vanderlei Bonato | ICMC/USP |