10 January 2024
14:00 Master's Defense IC3 Auditorium
Theme
A Language for Generating Patterns for Detection and Rewriting in MLIR Compilers
Student
Luciano Gigantelli Zago
Advisor / Teacher
Guido Costa Souza de Araújo - Co-advisor: Márcio Machado Pereira
Brief summary
Pattern matching and rewriting is a compiler optimization step that identifies predefined code languages ​​and replaces them with optimized code, offering performance gains in many applications. Recent advances have led to tools that speed up pattern matching and rewrite optimizations. One such technique, Source Matching and Rewriting (SMR), employs a user-centric, source code-based approach to pattern matching and rewriting, eliminating the need for specialized compiler intervention. However, achieving comprehensive pattern matching coverage with SMR requires meticulous specification of all possible linguistic variations by the user, a laborious and error-prone task. This research presents the Pattern Generation Language (PGL), which aims to simplify the automatic generation of pattern variations. PGL is a high-level language that allows the user to define program patterns that lead to pattern matching and rewriting in the context of SMR. Additionally, we developed the PGL Compiler (PGC), an SMR-compatible tool that automates the creation of idiomatic variations and the synthesis of patterns defined in the PGL language. Although PGC mainly focuses on generating input patterns for SMR, its flexibility allows adaptation to other pattern matching and rewriting tools, showing its versatility and potential for diverse applications. The experimental results show that PGL is capable of identifying patterns in Fortran and C codes, replacing them with calls to the BLAS library and, thus, improving program performance.
Examination Board
Headlines:
Guido Costa Souza de Araújo IC / UNICAMP
Wesley Attrot CCE/UEL
Alexandro José Baldassin IGCE / UNESP
Substitutes:
Sandro Rigo IC / UNICAMP
Vanderlei Bonato ICMC / USP