ir an intermediate representation for transforming and
play

IR An intermediate representation for transforming and optimizing - PowerPoint PPT Presentation

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


  1. µ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

  2. The Accelerator Flowchart Study the Application Object Detection Model 2

  3. The Accelerator Flowchart Study the Application Design Hardware RTL Design Input Output f() Weights Valid Object Detection Model Valid Clock 3 Reset

  4. 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

  5. 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

  6. ISA-based Flowchart Application ISA 
 Compile Execute GPU ✓ Isolate Application from Architecture 6

  7. ISA-based Flowchart Application ISA 
 Compile Execute GPU ✓ Isolate Application from Architecture 7

  8. ISA-based Flowchart Application Accelerator ISA 
 ? Compile Execute ✓ Isolate Application from Architecture ‣ Not expressive enough to create hardware 8

  9. ISA-based Flowchart Application ISA 
 ? Compile Execute ✓ Isolate Application from Architecture ‣ Not expressive enough to create hardware ‣ Not precise enough to explore hardware 9

  10. µ IR — A New Accelerator Flowchart Microarch. 
 Representation (µIR) Auto-Synthesis Applications Behavior CREATE RTL ✓ End-to-End flow — Existing software for behavior/functionality 10

  11. µ 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

  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 12

  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 13

  14. µ 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

  15. Application /Cilk Compile LLVM IR GPU TPU 15

  16. µ IR A New Accelerator Flowchart µIR Graph Application /Cilk Compile LLVM IR 16

  17. µ IR A New Accelerator Flowchart µIR Graph Application /Cilk Compile Hierarchical data flow LLVM IR Structure Graph 17

  18. µ IR A New Accelerator Flowchart µIR Graph Application /Cilk Compile Hierarchical data flow µOpt LLVM IR Structure Graph 18

  19. µ IR A New Accelerator Flowchart µIR Graph Application /Cilk Compile Hierarchical data flow µOpt LLVM IR Structure Graph Chisel µLib 19

  20. • Motivation • µIR behaviour graph • µIR structural graph • Evaluation • Summary 20

Recommend


More recommend