the anytime automaton
play

The Anytime Automaton Joshua San Miguel Natalie Enright Jerger - PowerPoint PPT Presentation

The Anytime Automaton Joshua San Miguel Natalie Enright Jerger Summary We propose the Anytime Automaton : A new computation model for approximate computing. 2 Summary We propose the Anytime Automaton : A new computation model for


  1. Anytime Automaton i n p u t 66

  2. Anytime Automaton i n p u t 67

  3. Anytime Automaton i n p u t 68

  4. Anytime Automaton i n p u t precise output 69

  5. Anytime Automaton – The Model 1. Ensure precise output is always produced eventually. 70

  6. Anytime Automaton – The Model 1. Ensure precise output is always produced eventually. 71

  7. Anytime Automaton – The Model 1. Ensure precise output is always produced eventually. kernel () { ... } 72

  8. Anytime Automaton – The Model 1. Ensure precise output is always produced eventually. pure function kernel () { ... } 73

  9. Anytime Automaton – The Model 1. Ensure precise output is always produced eventually. pure function kernel () { single-writer, ... updates isolated } 74

  10. Anytime Automaton – The Model 2. Create the effect of improving accuracy over time. 75

  11. Anytime Automaton – The Model 2. Create the effect of improving accuracy over time. Anytime (or iterative) algorithms have been studied before but are traditionally built into the coarse-grained derivation of an application. Approximate computing techniques have proliferated recently and have been shown to have general fine-grained applicability. 76

  12. Anytime Automaton – The Model 2. Create the effect of improving accuracy over time. 77

  13. Anytime Automaton – The Model 2. Create the effect of improving accuracy over time. anytime algorithm? 78

  14. Anytime Automaton – The Model 2. Create the effect of improving accuracy over time. kernel () { ... } 79

  15. Anytime Automaton – The Model 2. Create the effect of improving accuracy over time. approx computing kernel () { techniques ... } 80

  16. Anytime Automaton – The Model 2. Create the effect of improving accuracy over time. approx computing techniques 81

  17. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. 82

  18. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. computation A computation B computation C time 83

  19. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. computation B computation C time 84

  20. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. computation C time 85

  21. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. computation C time final output not ready! 86

  22. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. computation A computation B computation C time 87

  23. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. computation A computation B computation C time 88

  24. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. computation C computation B computation A time 89

  25. Anytime Automaton – The Model 3. Enable interruptibility via pipelining. computation C computation B computation A time approx output ready! 90

  26. Anytime Automaton – The Approximations 1. General case: apply approximations iteratively . 91

  27. Anytime Automaton – The Approximations 1. General case: apply approximations iteratively . quality knob 92

  28. Anytime Automaton – The Approximations 1. General case: apply approximations iteratively . smaller perforation stride loop perforation more mantissa bits floating-point precision higher supply voltage SRAM bit upsets lower approximation degree load value approximation higher neural network complexity neural acceleration 93

  29. Anytime Automaton – The Approximations 1. General case: apply approximations iteratively .  Loop perforation 94

  30. Anytime Automaton – The Approximations 1. General case: apply approximations iteratively .  Loop perforation for i = 0, 20, 40, 60, 80, 100, ...., N-1 perforation stride 20: 95

  31. Anytime Automaton – The Approximations 1. General case: apply approximations iteratively .  Loop perforation for i = 0, 20, 40, 60, 80, 100, ...., N-1 perforation stride 20: for i = 0, 15, 30, 45, 60, 75, ....., N-1 perforation stride 15: for i = 0, 10, 20, 30, 40, 50, ....., N-1 perforation stride 10: for i = 0, 5, 10, 15, 20, 25, ......, N-1 perforation stride 5: for i = 0, 1, 2, 3, 4, 5, 6, 7, ...., N-1 perforation stride 1: 96

  32. Anytime Automaton – The Approximations 1. General case: apply approximations iteratively .  Loop perforation for i = 0, 20, 40, 60, 80, 100, ...., N-1 perforation stride 20: for i = 0, 15, 30, 45, 60, 75, ....., N-1 perforation stride 15: Achieves desired effect of improving quality over time, but can yield redundant work. for i = 0, 10, 20, 30, 40, 50, ....., N-1 perforation stride 10: for i = 0, 5, 10, 15, 20, 25, ......, N-1 perforation stride 5: for i = 0, 1, 2, 3, 4, 5, 6, 7, ...., N-1 perforation stride 1: 97

  33. Anytime Automaton – The Approximations 1. General case: apply approximations iteratively .  Loop perforation for i = 0, 20, 40, 60, 80, 100, ...., N-1 perforation stride 20: for i = 0, 15, 30, 45, 60, 75, ....., N-1 perforation stride 15: for i = 0, 10, 20, 30, 40, 50, ....., N-1 perforation stride 10: for i = 0, 5, 10, 15, 20, 25, ......, N-1 perforation stride 5: for i = 0, 1, 2, 3, 4, 5, 6, 7, ...., N-1 perforation stride 1: 98

  34. Anytime Automaton – The Approximations 2. Better case: apply diffusive approximations.  Each approximation builds on the previous one. 99

  35. Anytime Automaton – The Approximations 2. Better case: apply diffusive approximations.  Each approximation builds on the previous one. data dependences (each approximate result contributes usefully to precise result) 100

Recommend


More recommend