Kiriko: Exploring Polyhedral Compilers

Lucas Victor da Silva Costa

Polyhedral optimizations play a central role in improving the performance of loop-intensive programs, yet existing tools such as Pluto, LLVM Polly, and the MLIR Affine dialect rely on heterogeneous infrastructures, input formats, and compilation pipelines. This fragmentation hinders reproducible experiments and fair comparisons across polyhedral frameworks. To address these challenges, we introduce Kiriko, a unified and automated benchmarking infrastructure designed to systematically evaluate polyhedral optimizers under consistent experimental conditions. Kiriko  integrates multiple toolchains into a single workflow, providing end-to-end support for optimization, lowering, compilation, and  execution. A key contribution of this work is the creation of a complete  PolyBench suite rewritten in the MLIR Affine dialect, enabling native  experimentation with MLIR-based transformations. Using Kiriko, we  conduct a comprehensive performance study of Clang, Polly, Pluto, and  MLIR Affine across the PolyBench benchmarks, collecting both execution  times and hardware performance counters. The results demonstrate the variability of existing polyhedral approaches and highlight the importance of standardized infrastructures for advancing research in loop optimization. Overall, Kiriko establishes a reproducible  foundation for developing, comparing, and analyzing modern polyhedral optimization techniques.


2025/2 - MSI2

Orientador: Fernando Magno Quintão Pereira

Palavras-chave: Polyhedral Optimization, Compiler Optimization, MLIR, LLVM Polly, Pluto, Loop Transformations, Benchmarking, Performance Analysis, PolyBench, Clang

Link para vídeo

PDF Disponível