Latent Idiom Recognition for a Minimalist Functional Array Language using Equality Saturation
Accelerating programs is typically done by recognizing code idioms matching high-performance libraries or hardware interfaces. However, recognizing such idioms automatically is challenging. The idiom recognition machinery is difficult to write and requires expert knowledge. In addition, slight variations in the input program might hide the idiom and defeat the recognizer.
This paper advocates for the use of a minimalist functional array language supporting a small, but expressive, set of operators. The minimalist design leads to a tiny sets of rewrite rules, which encode the language semantics. Crucially, the same minimalist language is also used to encode idioms. This removes the need for hand-crafted analysis passes, or for having to learn a complex domain-specific language to define the idioms.
Coupled with equality saturation, this approach is able to match the core functions from the BLAS and PyTorch libraries on a set of computational kernels. Compared to reference C kernel implementations, the approach produces a geometric mean speedup of 1.46$× for C programs using BLAS, when generating such programs from the high-level minimalist language.
Tue 5 MarDisplayed time zone: London change
11:30 - 12:50 | |||
11:30 20mTalk | Compile-Time Analysis of Compiler Frameworks for Query Compilation Main Conference Pre-print | ||
11:50 20mTalk | DrPy: Pinpointing Inefficient Memory Usage in Multi-Layer Python Applications Main Conference Jinku Cui North Carolina State University, Qidong Zhao North Carolina State University, Yueming Hao North Carolina State University, Xu Liu North Carolina State University | ||
12:10 20mTalk | SCHEMATIC: Compile-Time Checkpoint Placement and Memory Allocation for Intermittent Systems Main Conference Hugo Reymond Université de Rennes - Inria - CNRS - IRISA, Jean-Luc Béchennec Nantes Université - École Centrale Nantes - CNRS - LS2N - UMR 6004, Mikaël Briday Nantes Université - École Centrale Nantes - CNRS - LS2N - UMR 6004, Sébastien Faucou Nantes Université - École Centrale Nantes - CNRS - LS2N - UMR 6004, Isabelle Puaut Université de Rennes - Inria - CNRS - IRISA, Erven Rohou Université de Rennes - Inria - CNRS - IRISA Pre-print Media Attached | ||
12:30 20mTalk | Latent Idiom Recognition for a Minimalist Functional Array Language using Equality Saturation Main Conference Pre-print |