ICFP 2023
Mon 4 - Sat 9 September 2023 Seattle, Washington, United States
Mon 4 Sep 2023 14:00 - 14:45 at Olympic - FHPNC Talks #3 Chair(s): Mary Sheeran

Most applications benefiting from accelerators (especially ML accelerators) rely on hand-optimized high-performance kernel libraries to get access to new hardware, and ensure a high level of performance (e.g. BLAS, CuDNN, etc.). However, these kernel libraries are still written and optimized by hand, at great expense using low-level C and assembly code. This is because the performance engineers who write this code, (like the hardware designers on the other side of the ISA from them) require control over the design. What if we designed programming languages specially tailored to the needs of these programmers?

First, I will discuss performance and correctness. Should we think of this as a tradeoff (as the talk title implies) or two halves of the same whole? Then, I will discuss two different “user-scheduled” languages we’ve built to achieve both performance and correctness in HPC kernel programming. (1) Exo is an imperative language which turns the compiler “inside out” by externalizing control of code optimization directly to the user, and by replacing hardware-specific backends (the compiler writers’ responsibility) with user-level libraries (the performance engineers’ responsibility). (2) ATL is a simple functional tensor language, which we have embedded in Coq. Rewrites of ATL programs thereby become lemmas, and user-scheduling directives become proof tactics. These languages match the performance of highly tuned linear algebra, neural net and image processing kernels by using formal verification machinery to expedite the existing optimization process of low-level software performance engineers.

Mon 4 Sep

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

14:00 - 15:30
FHPNC Talks #3FHPNC at Olympic
Chair(s): Mary Sheeran Chalmers
14:00
45m
Keynote
Performance vs. Correctness When Writing Low-Level HPC/Tensor/Array Code
FHPNC
Gilbert Louis Bernstein Stanford University, USA
14:45
45m
Talk
The best multicore-parallelization refactoring you've never heard of
FHPNC
Mike Rainey Carnegie Mellon University