Symbolic Basic Block Profiling for Machine Learning Kernels
Current basic block profiling techniques obtain the count of executions of each basic block in a program using dynamic instrumentation. These profiling counters create runtime overheads and also require the execution of the program, which, for large input sizes, can take substantial time. We propose symbolic program profiling that generates symbolic formulae for a basic block’s count with inputs as the independent variables. Our technique is limited in applicability to a certain class of programs, namely machine learning (ML) kernels. We implement our technique in the LLVM compiler and evaluate it on 78 ML operators from 50 different ML models. These operators are generated by TVM, a machine learning compiler. Our symbolic profiles deliver exactly the same results as dynamic instrumentation for 73 out of 78 kernels with a median speedup of 15093×.
Tue 6 OctDisplayed time zone: Pacific Time (US & Canada) change
15:30 - 17:00 | Compiler Optimization and Code GenerationOOPSLA at East Hall 1 Chair(s): Kirshanthan Sundararajah Virginia Tech | ||
15:30 18mTalk | Class-Dictionary Specialization with Rank-2 Polymorphic Functions OOPSLA Link to publication DOI Pre-print | ||
15:48 18mTalk | Automatic Propagation of Profile Information through the Optimization Pipeline OOPSLA Elisa Frohlich Federal University of Minas Gerais, Angelica Moreira Microsoft Research, Fernando Magno Quintão Pereira Federal University of Minas Gerais DOI | ||
16:06 18mTalk | Automatically Generating ML Compiler Backends from Tensor Accelerator ISA Descriptions OOPSLA Devansh Jain University of Illinois at Urbana-Champaign, Akash Pardeshi University of Illinois at Urbana-Champaign, Marco Frigo University of Illinois at Urbana-Champaign, Kaustubh Khulbe University of Illinois at Urbana-Champaign, Krut Patel NVIDIA, Saatvik Lochan University of Illinois at Urbana-Champaign, Jai Arora University of Illinois at Urbana-Champaign, Charith Mendis University of Illinois at Urbana-Champaign DOI Pre-print | ||
16:24 18mTalk | Symbolic Basic Block Profiling for Machine Learning Kernels OOPSLA Jingyu Qiu University of Rochester, Rongcui Dong University of Rochester, Sreepathi Pai University of Rochester DOI | ||
16:42 18mTalk | Filtr: Compiling Bioinformatics Recurrences OOPSLA Bala Vinaithirthan Stanford University, Shiv Sundram Stanford University, Sneha Goenka Princeton University, Fredrik Kjolstad Stanford University DOI | ||