Google Research

Domain-Specific Multi-Level Rewriting for HPC: A Case Study with MLIR

  • Tobias Gysi
  • Christoph Mueller
  • Oleksandr Zinenko
  • Stephan Andreas Herhut
  • Eddie Davis
  • Tobias Wicky
  • Oliver Fuhrer
  • Torsten Hoefler
  • Tobias Grosser
ACM Transactions on Architecture and Code Optimization, vol. 4 (2021), 51:1-51:23

Abstract

Peephole optimizations have proven to be effective on traditional compiler tasks such as instruction selection. MLIR raises the level of abstraction from machine instructions to high-level operations such as matrix-multiplication or an entire stencil application. In this project, we want to show the effectiveness of peephole style optimizations on domain-specific abstractions. We, therefore, optimize stencil programs from the weather and climate domain to demonstrate the effectiveness of the approach in the HPC space. As a vehicle to evaluate our idea, we introduce a high-level stencil dialect that models the data-flow of stencil programs. We deduce a set of high-level peephole optimizations to optimize stencil programs and implement a lowering to the GPU dialect of MLIR. The GPU dialect is a novel abstraction layer the allows compiler engineers to generate code that is performance portable across different GPU architectures.

Research Areas

Learn more about how we do research

We maintain a portfolio of research projects, providing individuals and teams the freedom to emphasize specific types of work