paper-with-me

Papers

Mirage: A Multi-Level Superoptimizer for Tensor Programs

2024-05-09 · Mengdi Wu, Xinhao Cheng, Shengyu Liu, Chunan Shi, Jianan Ji, Kit Ao, Praveen Velliengiri, Xupeng Miao, Oded Padon, Zhihao Jia

We introduce Mirage, the first multi-level superoptimizer for tensor programs. A key idea in Mirage is $\mu$Graphs, a uniform representation of tensor programs at the kernel, thread block, and thread levels of the GPU compute hierarchy. $\mu$Graphs enable Mirage to discover novel optimizations that combine algebraic transformations, schedule transformations, and generation of new custom kernels. To navigate the large search space, Mirage introduces a pruning technique based on abstraction that significantly reduces the search space and provides a certain optimality guarantee. To ensure that the optimized $\mu$Graph is equivalent to the input program, Mirage introduces a probabilistic equivalence verification procedure with strong theoretical guarantees. Our evaluation shows that Mirage outperforms existing approaches by up to 3.3$\times$ even for DNNs that are widely used and heavily optimized. Mirage is publicly available at https://github.com/mirage-project/mirage.

📄 PDF Abstract BibTeX arXiv:2405.05751

Code (1)

mirage-project/mirage 공식 구현 pytorch

Tasks

GPUNavigate

Methods 이 논문이 사용한 방법론

Pruning 설명 없음

Similar Papers 제목 키워드 기반

Prism: Symbolic Superoptimization of Tensor Programs

2026-04-16 · Mengdi Wu, Xiaoyu Jiang, Oded Padon, Zhihao Jia arxiv

This paper presents Prism, the first symbolic superoptimizer for tensor programs. The key idea is sGraph, a symbolic, hierarchical representation that compactly encodes large classes of tensor programs by symbolically re…

Graph Generation

Axon: A Synthesizing Superoptimizer for Tensor Programs

2026-06-24 · Akash Kothari, Shaowei Zhu, Daniel Kroening, Chungha Sung arxiv

Writing high performance kernels for AI accelerators requires deep expertise in tiling, instruction selection, data layout, and operator fusion placing a significant burden on programmers. In this paper, we focus on tile…

Program Synthesis

MPK: A Compiler and Runtime for Mega-Kernelizing Tensor Programs

2025-12-22 · Xinhao Cheng, Zhihao Zhang, Yu Zhou, Jianan Ji 외 arxiv

We introduce Mirage Persistent Kernel (MPK), the first compiler and runtime system that automatically transforms multi-GPU model inference into a single high-performance mega-kernel. MPK introduces an SM-level graph repr…

A Learned Performance Model for Tensor Processing Units

2020-08-03 · Samuel J. Kaufman, Phitchaya Mangpo Phothilimthana, Yanqi Zhou, Charith Mendis 외

Accurate hardware performance models are critical to efficient code generation. They can be used by compilers to make heuristic decisions, by superoptimizers as a minimization objective, or by autotuners to find an optim…

Code Generationmodel

Learning to Superoptimize Real-world Programs

2021-09-28 · Alex Shypula, Pengcheng Yin, Jeremy Lacomis, Claire Le Goues 외

Program optimization is the process of modifying software to execute more efficiently. Superoptimizers attempt to find the optimal program by employing significantly more expensive search and constraint solving technique…

Compiler OptimizationImitation Learning