A Multi-Level Compiler Backend for Accelerated Micro-Kernels Targeting RISC-V ISA Extensions
High-performance micro-kernels must fully exploit today’s diverse and specialized hardware to deliver peak performance to deep neural networks (DNNs). While higher-level optimizations for DNNs are offered by numerous compilers (e.g., MLIR, TVM, OpenXLA), performance-critical micro-kernels are left to specialized code generators or hand-written assembly. Even though widely-adopted compilers (e.g., LLVM, GCC) offer highly-tuned backends, their CPU-focused input abstraction, structure-less internal representation, and general-purpose best-effort design inhibit tailored code generation for innovative hardware. We think it is time to widen the classical hourglass backend and embrace progressive lowering across a diverse set of structured abstractions to bring domain-specific code generation to compiler backends. We demonstrate this concept by implementing a custom backend for a RISC-V-based accelerator with hardware loops and streaming registers, leveraging knowledge about the hardware at levels of abstraction that match its custom ISA. We use incremental register allocation over structured IRs while dropping classical spilling heuristics and show up-to 90% FPU utilization across key DNN kernels. By breaking the backend hourglass, we re-open the path from domain-specific abstractions to specialized hardware.
Mon 3 MarDisplayed time zone: Pacific Time (US & Canada) change
15:40 - 16:40 | Architectures & Code GenerationMain Conference at Casuarina Ballroom (Level 2) Chair(s): Yongjun Park Yonsei University | ||
15:40 20mTalk | Calibro: Compilation-Assisted Linking-Time Binary Code Outlining for Code Size Reduction in Android Applications Main Conference Zhanhao Liang Wuhan University, Hanming Sun Wuhan University, wenhan shang Wuhan University, YUAN Mengting School of Computer Science, Wuhan University, Wuhan, China, Jingqin Fu Wuhan Broadcasting and Television Station, Jiang Ma OPPO Electronics Corp., Jason Xue MBZUAI, Qingan Li Wuhan University, China | ||
16:00 20mTalk | A Multi-Level Compiler Backend for Accelerated Micro-Kernels Targeting RISC-V ISA Extensions Main Conference Alexandre Lopoukhine University of Cambridge, Federico Ficarelli Cineca, Christos Vasiladiotis University of Edinburgh, Anton Lydike The University of Edinburgh, Josse Van Delm KU Leuven, Alban Dutilleul ENS Rennes, Luca Benini ETH Zurich, Switzerland, Marian Verhelst KU Leuven, Tobias Grosser University of Cambridge, UK | ||
16:20 20mTalk | xDSL: Sidekick Compilation for SSA-Based Compilers Main Conference Mathieu Fehr The University of Edinburgh, Michel Weber ETH Zurich, Christian Ulmann ETH Zurich, Alexandre Lopoukhine University of Cambridge, Martin Lücke University of Edinburgh, Theo Degioanni ENS Rennes, Christos Vasiladiotis University of Edinburgh, Michel Steuwer Technische Universität Berlin, Tobias Grosser University of Cambridge, UK |