Allo: A Programming Model for Composable Accelerator Design
summary
Allo is a Python-embedded ADL that decouples compute, memory, communication and data-type customizations into composable primitives and a Python-embedded ADL workflow. It uses an LLVM backend plus HLS synthesis, a symbolic-equivalence verifier, and a type-directed layout inference system to auto-propagate memory partitions across composed kernels. On PolyBench it outperforms prior HLS/ADL baselines; a GPT-2 accelerator maps to an AMD U280 at 250 MHz and shows 1.7× lower latency than an NVIDIA A100 with 5.4× better energy efficiency while requiring under 15 lines of schedule code.
AI-written summary · about
chapters (9)
- 0:00Allo programming model
- 2:54Accelerator design challenges
- 3:59Allo language design
- 5:22Transforming GEMM kernel
- 7:29Hardware synthesis results
- 8:12Composing accelerator kernels
- 11:22Allo evaluation
- 13:54Allo library future
- 14:37Q&A
related talks
23mRunning an Open Source LLM on Open Source Hardware
51mDesign your own custom co-processors and acceleration hardw
21mA Functional Approach to Synthesizing Routable Programmable Accelerators for Neural(…)
01h 10mHardware DSLs
01h 03mOLD VERSION: Building Abstractions at the Hardware-software Boundary
22mPreview: Hardware and Offloads
22mAlgorithm-Aware Hardware Optimization using E-Graph Rewriting: how should we marry(…)
24mCelerity: An Open Source 511 Core RISC V Tiered Accelerator Fabric
