approximating with input level granularity
play

Approximating with Input Level Granularity Parker Hill, Michael - PowerPoint PPT Presentation

Approximating with Input Level Granularity Parker Hill, Michael Laurenzano, Mehrzad Samadi Scott Mahlke, Jason Mars, Lingjia Tang Computational Model Each operation executed with several inputs Computation 2 Sensitivity to Input 3


  1. Approximating with Input Level Granularity Parker Hill, Michael Laurenzano, Mehrzad Samadi Scott Mahlke, Jason Mars, Lingjia Tang

  2. Computational Model ● Each operation executed with several inputs Computation 2

  3. Sensitivity to Input 3

  4. Sensitivity to Input Input Gamma Filter 4

  5. Sensitivity to Input (16x8 Tiling*) Input Gamma Filter Approximation *Samadi et al. ASPLOS 2014 5

  6. Sensitivity to Input (16x8 Tiling*) Input Gamma Filter Approximation ✓ Is this an acceptable approximation method? *Samadi et al. ASPLOS 2014 6

  7. Sensitivity to Input (16x8 Tiling*) Input Gamma Filter Approximation ✓ *Samadi et al. ASPLOS 2014 7

  8. Sensitivity to Input (16x8 Tiling*) Input Gamma Filter Approximation ✓ *Samadi et al. ASPLOS 2014 8

  9. Sensitivity to Input (16x8 Tiling*) Input Gamma Filter Approximation ✓ ⊗ *Samadi et al. ASPLOS 2014 9

  10. Previous Work ● Use some set of inputs to: – Determine if approximation is accurate enough – Pick fastest acceptable approximation ● Reuse the approximation for several inputs 10

  11. Performance vs Accuracy 16x8 Tiling 4x2 Tiling ✓ ⊗ Speedup 49x 5.9x 11

  12. Performance vs Accuracy 16x8 Tiling 4x2 Tiling ✓ ✓ ✓ ⊗ Speedup 49x 5.9x 12

  13. Performance vs Accuracy 16x8 Tiling 4x2 Tiling ✓ ✓ ✓ ⊗ __ Speedup 49x 5.9x 13

  14. Trade-off with Many Inputs M i s s e d O p p o r t u n i t y F a s t + H i g h Q u a l i t y T O Q = 9 0 % T O Q V i o l a t i o n 3 5 % 3 0 % n 2 5 % o i t r 2 0 % o p o r 1 5 % P 1 0 % 5 % 0 % 1 0 0 % 9 0 % 8 0 % O u t p u t Q u a l i t y 4 x 2 t i l i n g a p p r o x i m a t i o n ( 5 . 9 x s p e e d u p ) 14

  15. Trade-off with Many Inputs M i s s e d O p p o r t u n i t y F a s t + H i g h Q u a l i t y T O Q = 9 0 % T O Q V i o l a t i o n 3 5 % 3 0 % n 2 5 % o i t r 2 0 % o p o r 1 5 % P 1 0 % 5 % 0 % 1 0 0 % 9 0 % 8 0 % O u t p u t Q u a l i t y 4 x 2 t i l i n g a p p r o x i m a t i o n ( 5 . 9 x s p e e d u p ) ● Conservative approximation → small speedup 15

  16. Trade-off with Many Inputs M i s s e d O p p o r t u n i t y F a s t + H i g h Q u a l i t y T O Q = 9 0 % T O Q V i o l a t i o n 3 5 % 1 5 % 3 0 % n n 2 5 % o o i i t t r r 1 0 % 2 0 % o o p p o o r 1 5 % r P P 5 % 1 0 % 5 % 0 % 0 % 1 0 0 % 9 0 % 8 0 % 1 0 0 % 9 0 % 8 0 % O u t p u t Q u a l i t y O u t p u t Q u a l i t y 4 x 2 t i l i n g a p p r o x i m a t i o n ( 5 . 9 x s p e e d u p ) 8 x 8 t i l i n g ( 2 2 x s p e e d u p ) ● Conservative approximation → small speedup ● Cannot approximate more aggressively 16

  17. Trade-off with Many Inputs M i s s e d O p p o r t u n i t y F a s t + H i g h Q u a l i t y T O Q = 9 0 % T O Q V i o l a t i o n 3 5 % 1 5 % 3 0 % n n 2 5 % o o i i t t r r 1 0 % 2 0 % o o p p o o r 1 5 % r P P 5 % 1 0 % 5 % 0 % 0 % 1 0 0 % 9 0 % 8 0 % 1 0 0 % 9 0 % 8 0 % O u t p u t Q u a l i t y O u t p u t Q u a l i t y 4 x 2 t i l i n g a p p r o x i m a t i o n ( 5 . 9 x s p e e d u p ) 8 x 8 t i l i n g ( 2 2 x s p e e d u p ) ● Conservative approximation → small speedup ● Cannot approximate more aggressively 17

  18. Trade-off with Many Inputs M i s s e d O p p o r t u n i t y F a s t + H i g h Q u a l i t y T O Q = 9 0 % T O Q V i o l a t i o n 3 5 % 1 5 % 3 0 % n n 2 5 % o o i i t t r r 1 0 % 2 0 % o o p p o o r 1 5 % r P P 5 % 1 0 % 5 % 0 % 0 % 1 0 0 % 9 0 % 8 0 % 1 0 0 % 9 0 % 8 0 % O u t p u t Q u a l i t y O u t p u t Q u a l i t y 4 x 2 t i l i n g a p p r o x i m a t i o n ( 5 . 9 x s p e e d u p ) 8 x 8 t i l i n g ( 2 2 x s p e e d u p ) ● Conservative approximation → small speedup ● Cannot approximate more aggressively ● We would like to approximate inputs differently 18

  19. Dynamic Approximation Challenges ● Must analyze accurately – Cannot violate TOQ – Need to pick a fast approximation ● Must analyze quickly – Limits potential speedup 19

  20. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: Customized ● Meets accuracy constraint 2x2 Approximation ● High performance 4x2 16x8 4) Apply approximation 16x16 Selection Approx. Result 20

  21. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: Customized ● Meets accuracy constraint 2x2 Approximation ● High performance 4x2 16x8 4) Apply approximation 16x16 Selection Approx. Result 21

  22. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: ✓ Customized ● Meets accuracy constraint 2x2 Approximation ✓ ● High performance 4x2 ✓ 16x8 4) Apply approximation ⊗ 16x16 Selection Approx. Result 22

  23. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: ✓ Customized ● Meets accuracy constraint 2x2 16x8 Approximation ✓ ● High performance 4x2 ✓ 16x8 4) Apply approximation ⊗ 16x16 Selection Approx. Result 23

  24. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: ✓ Customized ● Meets accuracy constraint 2x2 16x8 Approximation ✓ ● High performance 4x2 ✓ 16x8 4) Apply approximation ⊗ 16x16 Selection Approx. Result 24

  25. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: Customized ● Meets accuracy constraint 2x2 Approximation ● High performance 4x2 16x8 4) Apply approximation 16x16 Selection Approx. Result 25

  26. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: ✓ Customized ● Meets accuracy constraint 2x2 Approximation ✓ ● High performance 4x2 ⊗ 16x8 4) Apply approximation ⊗ 16x16 Selection Approx. Result 26

  27. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: ✓ Customized ● Meets accuracy constraint 2x2 4x2 Approximation ✓ ● High performance 4x2 ⊗ 16x8 4) Apply approximation ⊗ 16x16 Selection Approx. Result 27

  28. One Possible Dynamic System Approximations 1) Provide: Tiling ● A set of approximations Input 2x2 16x8 ● Input 16x16 4x2 2) Apply analysis to each pair: ● Performance ● Output quality Analysis 3) Select best approximation: ✓ Customized ● Meets accuracy constraint 2x2 4x2 Approximation ✓ ● High performance 4x2 ⊗ 16x8 4) Apply approximation ⊗ 16x16 Selection Approx. Result 28

  29. ● Optimal choice depends heavily on input Dynamic Oracle Selections P r o p o r t i o n 1 1 0 5 0 5 % % % % 1 6 x 1 6 8 x 1 6 1 6 x 3 2 8 x 3 2 3 2 x 3 2 4 x 1 6 8 x 8 1 6 x 6 4 3 2 x 1 6 3 2 x 6 4 6 4 x 1 2 8 4 x 8 4 x 3 2 1 6 x 1 2 8 3 2 x 1 2 8 4 x 4 8 x 6 4 8 x 4 2 4 o t h e r s 29

  30. Dynamic Oracle Performance M i s s e d O p p o r t u n i t y 5 0 % F a s t + H i g h Q u a l i t y T O Q = 9 0 % 4 0 % n T O Q V i o l a t i o n o i t r o 3 0 % p o r P 2 0 % 1 0 % 0 % 1 0 0 % 9 0 % 8 0 % O u t p u t Q u a l i t y ● Accuracy near TOQ 30

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