Thu 24 Oct 2024 14:20 - 14:40 at San Gabriel - Compilers and Optimisation 2 Chair(s): Manu Sridharan

Tensor compilers are essential for deploying deep learning applications across various hardware platforms. While powerful, they are inherently complex and present significant challenges in ensuring correctness. This paper introduces PolyJuice, an automatic detection tool for identifying mis-compilation bugs in tensor compilers. Its basic idea is to construct semantically-equivalent computation graphs to validate the correctness of tensor compilers. The main challenge is to construct equivalent graphs capable of efficiently exploring the diverse optimization logic during compilation. We approach it from two dimensions. First, we propose arithmetic and structural equivalent rewrite rules to modify the dataflow of a tensor program. Second, we design an efficient equality saturation based rewriting framework to identify the most simplified and the most complex equivalent computation graphs for an input graph. After that, the outcome computation graphs have have different dataflow and will likely experience different optimization processes during compilation. We applied it to five well-tested industrial tensor compilers, namely PyTorch Inductor, OnnxRuntime, TVM, TensorRT, and XLA, as well as two well-maintained academic tensor compilers, EinNet and Hidet. In total, PolyJuice detected 84 non-crash mis-compilation bugs, out of which 49 were confirmed with 20 fixed.

Thu 24 Oct

Displayed time zone: Pacific Time (US & Canada) change

13:40 - 15:20
Compilers and Optimisation 2OOPSLA 2024 at San Gabriel
Chair(s): Manu Sridharan University of California at Riverside
13:40
20m
Talk
Hydra: Generalizing Peephole Optimizations with Program Synthesis
OOPSLA 2024
Manasij Mukherjee NVIDIA, John Regehr University of Utah
DOI Pre-print
14:00
20m
Talk
Minotaur: A SIMD-Oriented Synthesizing SuperoptimizerOOPSLA 2024 Distinguished Paper Award
OOPSLA 2024
Zhengyang Liu University of Utah, Stefan Mada University of Utah, John Regehr University of Utah
DOI
14:20
20m
Talk
PolyJuice: Detecting Mis-Compilation Bugs in Tensor Compilers with Equality Saturation Based Rewriting
OOPSLA 2024
Chijin Zhou Tsinghua University, Bingzhou Qian National University of Defense Technology, Gwihwan Go Tsinghua University, Quan Zhang Tsinghua University, Shanshan Li National University of Defense Technology, Yu Jiang Tsinghua University
DOI
14:40
20m
Talk
SparseAuto: An Auto-Scheduler for Sparse Tensor Computations Using Recursive Loop Nest Restructuring
OOPSLA 2024
Adhitha Dias Purdue University, USA, Logan Anderson Purdue University, Kirshanthan Sundararajah Virginia Tech, Artem Pelenitsyn Purdue University, Milind Kulkarni Purdue University
DOI Pre-print
15:00
20m
Talk
Understanding and Finding Java Decompiler Bugs
OOPSLA 2024
Yifei Lu Nanjing University, Weidong Hou Nanjing University, Minxue Pan Nanjing University, Xuandong Li Nanjing University, Zhendong Su ETH Zurich
DOI