Exocompilation for Productive Programming of Hardware Accelerators
summary
Exocompilation presents a small imperative array DSL embedded in Python that generates C, models accelerator ops (load, mapmo, store) as subprocedures, and exposes scheduling as in-IR rewriting so users supply schedules. An SMT-based equivalence checking engine verifies atomic rewrites; config state is tracked via abstract interpretation combined with polyhedral effects. With under a week of work, users replace Gemini subroutines and matched MKL performance on x86 with AVX‑512, run ResNet layers considerably faster on Gemini, and produce code an order of magnitude more concise.
AI-written summary · about
chapters (9)
- 0:00The problem with ML systems
- 2:08Introducing Exocompilation
- 3:46Scheduling as rewriting
- 5:06Optimizing data movement
- 7:52Rapid prototyping in Exo
- 9:30Managing hardware state
- 11:55Correctness and verification
- 13:32Performance results
- 14:26Future work and Q&A
related talks
24mMapping Sparse Applications to Accelerated Computing Systems
23mRunning an Open Source LLM on Open Source Hardware
28mHardware implementation of OCaml using a synchronous functional language
58mFast Cryptographic Code via Partial Evaluation
01h 01mHVM2: Iteraction Combinator Evaluator
12mCoding Agents for Compiler Construction: Beyond the...
44mBuild Your Own VM with JIT Compilation for Dummies
09mCompilers for nothing, executables for free!
