mlsanityData to 14 Oct 2026

mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR using Program Synthesis

arXiv 2310.04196 ↗First posted 6 Oct 2023cs.PL cs.CL cs.DCcited by 0

Not on the map. Why?

Abstract (arXiv)

MLIR is an emerging compiler infrastructure for modern hardware, but existing programs cannot take advantage of MLIR's high-performance compilation if they are described in lower-level general purpose languages. Consequently, to avoid programs needing to be rewritten manually, this has led to efforts to automatically raise lower-level to higher-level dialects in MLIR. However, current methods rely on manually-defined raising rules, which limit their applicability and make them challenging to maintain as MLIR dialects evolve. We present mlirSynth -- a novel approach which translates programs from lower-level MLIR dialects to high-level ones without manually defined rules. Instead, it uses available dialect definitions to construct a program space and searches it effectively using type constraints and equivalences. We demonstrate its effectiveness reviby raising C programs to two distinct high-level MLIR dialects, which enables us to use existing high-level dialect specific compilation flows. On Polybench, we show a greater coverage than previous approaches, resulting in geomean speedups of 2.5x (Intel) and 3.4x (AMD) over state-of-the-art compilation flows for the C programming language. mlirSynth also enables retargetability to domain-specific accelerators, resulting in a geomean speedup of 21.6x on a TPU.

Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 18 of its 62 references that are in the map. First posted on arXiv 6 Oct 2023.

Builds on

18 of 62 references.

References · 18

  1. 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,305
  2. 2017In-Datacenter Performance Analysis of a Tensor Processing Unitcited by 618
  3. 2016DeepCoder: Learning to Write Programscited by 149
  4. 2018NVIDIA Tensor Core Programmability, Performance & Precisioncited by 79
  5. 2018Tiramisu: A Polyhedral Compiler for Expressing Fast and Portable Codecited by 53
  6. 2019Learning to Infer Program Sketchescited by 44
  7. 2020Survey of Machine Learning Acceleratorscited by 29
  8. 2020TF-Coder: Program Synthesis for Tensor Manipulationscited by 27
  9. 2018Automatic Program Synthesis of Long Programs with a Learned Garbage Collectorcited by 24
  10. 2020Just-in-Time Learning for Bottom-Up Enumerative Synthesiscited by 18
  11. 2020Modeling Black-Box Components with Probabilistic Synthesiscited by 8
  12. 2020M3: Semantic API Migrationscited by 4
6 more
  1. 2022Predictive Synthesis of API-Centric Codecited by 4
  2. 2015Polly's Polyhedral Scheduling in the Presence of Reductionscited by 3
  3. 2018Automatically Leveraging MapReduce Frameworks for Data-Intensive Applicationscited by 3
  4. 2023Matching Linear Algebra and Tensor Code to Specialized Hardware Acceleratorscited by 3
  5. 2016Leveraging Parallel Data Processing Frameworks with Verified Liftingcited by 2
  6. 2019Type-Directed Program Synthesis and Constraint Generation for Library Portabilitycited by 1

Built on by

Not cited yet.