HPVM: Performance, Portability, Programmability and Approximation for Heterogeneous Parallel Systems
Heterogeneous parallel systems are becoming increasingly prevalent in the form of System-on-Chip (SoC) designs powering today’s mobile devices and low-energy edge computing devices. These systems deliver orders-of- magnitude power-performance benefits compared with multicore CPUs, but are notoriously difficult to program, even for computing experts. Many end-users of heterogeneous parallel systems, however, are far from being computing experts: they are domain specialists in some application domain that need these systems to achieve (often challenging) computational goals. The broad goal of the Heterogeneous Parallel Virtual Machine (HPVM) project is to enable both expert and non-expert application developers to be able to program heterogeneous parallel systems while achieving good performance and, when desired, object code portability, while remaining as easy to program as traditional parallel systems. A second broad goal is to take advantage of application flexibility for efficient approximations: application developers should need to specify only application-specific information about result quality (e.g., “accept at most 1% decrease in inference accuracy” for a ML inference application). Using this information, HPVM automatically chooses from a variety of available approximation mechanisms to achieve significantly improved run-time performance and energy consumption. For example, HPVM achieves 0-9x speedups and 0-11.3x energy reduction for several widely studied neural networks written in Keras and compiled to HPVM. In this talk, I will give an overview of the HPVM project, briefly present earlier results about portability and performance, and then describe the techniques to achieve quality-aware optimizations from high-level quality specifications.
Vikram Adve is the Donald B. Gillies Professor of Computer Science at the University of Illinois at Urbana-Champaign, and is co-Director of the Center for Digital Agriculture. Adve’s research interests lie in developing and using compiler techniques to improve the performance, reliability and security of computer systems. Adve and his PhD student, Chris Lattner, co-developed the LLVM Compiler Infrastructure, which enables a novel approach to “lifelong compilation” of programs in arbitrary general-purpose programming languages. For example, most mobile apps for the iPhone, iPad, Apple Watch and Apple TV are shipped by developers to Apple in the LLVM compiler representation called “LLVM bitcode” and then compiled and specialized for user devices. Adve, Lattner and Evan Cheng received the ACM Software System Award in 2012 for their work on LLVM. Adve’s Ph.D. student Robert Bocchino received the ACM SIGPLAN Distinguished Dissertation Award and another, John Criswell, won an Honorable Mention for the ACM Doctoral Dissertation Award. Adve was named a Fellow of the ACM in 2014 and a University Scholar at the University of Illinois in 2015. He served as Interim Head of the Computer Science Department from 2017 to 2019.