µIR – An intermediate representation for transforming and optimizing the microarchitecture of application accelerators Amirali Sharifian 1 , Reza Hojabr 1 , Navid Rahimi 1 , Sihao Liu 2 , Apala Guha 1 Tony Nowatzki 2 and Arrvindh Shriraman 1 https://github.com/sfu-arch/uir Simon Fraser University 1 , UCLA 2 1
The Accelerator Flowchart Study the Application Object Detection Model 2
The Accelerator Flowchart Study the Application Design Hardware RTL Design Input Output f() Weights Valid Object Detection Model Valid Clock 3 Reset
The Accelerator Flowchart Study the Application Design Hardware New Software Compiler RTL Design Input Output f() Weights Valid Object Detection Model Valid Clock 4 Reset
Problems With Design Flowchart 500 320 Validation Software Architecture 240 375 Cost(M$) 160 250 80 125 0 0 65nm 45/40 nm 28nm 20nm 16/14nm Feature Dimension (Transistor Count) — Source: IBS 5
ISA-based Flowchart Application ISA Compile Execute GPU ✓ Isolate Application from Architecture 6
ISA-based Flowchart Application ISA Compile Execute GPU ✓ Isolate Application from Architecture 7
ISA-based Flowchart Application Accelerator ISA ? Compile Execute ✓ Isolate Application from Architecture ‣ Not expressive enough to create hardware 8
ISA-based Flowchart Application ISA ? Compile Execute ✓ Isolate Application from Architecture ‣ Not expressive enough to create hardware ‣ Not precise enough to explore hardware 9
µ IR — A New Accelerator Flowchart Microarch. Representation (µIR) Auto-Synthesis Applications Behavior CREATE RTL ✓ End-to-End flow — Existing software for behavior/functionality 10
µ IR — A New Accelerator Flowchart Microarch. Representation (µIR) Auto-Synthesis Applications Behavior CREATE RTL ✓ End-to-End flow — Existing software for behavior/functionality ✓ Reduce effort — Compiler to extract behaviour 11
µ IR — A New Accelerator Flowchart Microarch. Representation (µIR) Auto-Synthesis Applications Behavior CREATE ✓ End-to-End flow — Existing software for behavior/functionality ✓ Reduce effort — Compiler to extract behaviour ✓ Design exploration — New model for exploring architectures 12
µ IR — A New Accelerator Flowchart Microarch. Representation (µIR) Auto-Synthesis Applications Behavior CREATE ✓ End-to-End flow — Existing software for behavior/functionality ✓ Reduce effort — Compiler to extract behaviour ✓ Design exploration — New model for exploring architectures ✓ Extensibility — Extensible to capture domain information 13
µ IR — A New Accelerator Flowchart Microarch. Representation (µIR) Auto-Synthesis Applications Behavior CREATE ✓ End-to-End flow — Existing software for behavior/functionality ✓ Reduce effort — Compiler to extract behaviour ✓ Design exploration — New model for exploring architectures ✓ Extensibility — Extensible to capture domain information 14
Application /Cilk Compile LLVM IR GPU TPU 15
µ IR A New Accelerator Flowchart µIR Graph Application /Cilk Compile LLVM IR 16
µ IR A New Accelerator Flowchart µIR Graph Application /Cilk Compile Hierarchical data flow LLVM IR Structure Graph 17
µ IR A New Accelerator Flowchart µIR Graph Application /Cilk Compile Hierarchical data flow µOpt LLVM IR Structure Graph 18
µ IR A New Accelerator Flowchart µIR Graph Application /Cilk Compile Hierarchical data flow µOpt LLVM IR Structure Graph Chisel µLib 19
• Motivation • µIR behaviour graph • µIR structural graph • Evaluation • Summary 20
Recommend
More recommend