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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend