approximate computing is dead long live approximate
play

Approximate Computing Is Dead; Long Live Approximate Computing - PowerPoint PPT Presentation

Approximate Computing Is Dead; Long Live Approximate Computing Adrian Sampson Cornell Hardware Programming Quality Domains Hardware Programming No more approximate functional units. Quality Domains Narrower bit widths are just as


  1. Approximate Computing Is Dead; Long Live Approximate Computing Adrian Sampson Cornell

  2. Hardware Programming Quality Domains

  3. Hardware Programming No more approximate functional units. Quality Domains

  4. Narrower bit widths are 
 just as good or better [Barrois et al., DATE 2017] approximate adders from the literature # 10 -3 1.8 1.6 1.4 1.2 ACA PDP (pJ) ETAIV 1 RCAapx Type 1 better e ffi ciency RCAapx Type 2 0.8 RCAapx Type 3 Fixed-Point trunc. 0.6 # Fixed-Point round. 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 MSSIM just varying the adder width better accuracy

  5. Hardware Programming No more approximate functional units. No more voltage overscaling. Quality Domains

  6. Dual-voltage approximate CPU [ASPLOS 2012] replicated functional units Fetch Decode Reg Read Execute Memory WB Br. Predictor Integer FU Data Cache Instruction Decoder Register File Register File Cache FP FU ITLB DTLB dual-voltage SRAM arrays

  7. raytracer imagefill jmeint zxing smm sor mc fft lu together registers multiplier FPU cache ALU (a)

  8. Hardware Programming No more approximate functional units. No more voltage overscaling. In general, no more fine-grained approximate operations. Quality Domains

  9. � ���� ������ ����� � ������ ����� ������ ����� ����� ������� ��� ���� ���� ���� ����� ����� ����� ������ ����� ����� ������ ����� ������ ����� ��� ����� ���� ��������� ������ ���� ��� � � � � � � � � � ������� � � � � � ������� ����� � ���� �� ��� ������ � � � � � � � The Horowitz imbalance a name I made up for this talk [ISSCC 2014] 6pJ 25pJ Control 70 � pJ I-Cache Access Register File Add Access

  10. Constraint-based programming 
 for spatial architectures [Nowatzki et al., PLDI 2013] nodes (N) links (L) y x � � + y � � z routers (R) Graph H for hardware of

  11. Hardware Programming No more approximate functional units. No more automatic approximability analysis. No more voltage overscaling. In general, no more fine-grained approximate operations. Quality Domains

  12. EnerJ type qualifiers [PLDI 2011] @Approx int a = ...; int p = ...; ✗ p = a; ✓ a = p;

  13. EnerJ type qualifiers [PLDI 2011] @Approx int a = ...; int p = ...; Let’s insert these automatically!

  14. Hardware Programming No more approximate functional units. No more automatic approximability analysis. No more voltage overscaling. No more generic unsound In general, no more fine-grained compiler transformations. approximate operations. Quality Domains

  15. Loop perforation [Sidiroglou-Douskos et al., FSE 2011] i += 2 for ( int i = 0; i < max; i++) { // whatever }

  16. Hardware Programming No more approximate functional units. No more automatic approximability analysis. No more voltage overscaling. No more generic unsound In general, no more fine-grained compiler transformations. approximate operations. Quality Domains No more weak statistical guarantees.

  17. Traditional guarantee ∀ x f ( x ) is good

  18. Statistical guarantee Pr [ f ( x ) is good] ≥ T

  19. Statistical guarantee, in reality Pr x ∼ D [ f ( x ) is good] ≥ T anticipated input distribution

  20. probability x

  21. probability high quality low quality x

  22. probability x

  23. Adversarial distribution probability x

  24. Hardware Programming No more approximate functional units. No more automatic approximability analysis. No more voltage overscaling. No more generic unsound In general, no more fine-grained compiler transformations. approximate operations. Quality Domains No more weak statistical guarantees. No more sadness about the imperfection of quality metrics.

  25. Application Description Error metric FFT Mean entry difference SOR Mean entry difference Scientific kernels from the MonteCarlo Normalized difference SciMark2 benchmark SparseMatMult Mean normalized difference LU Mean entry difference ZXing Smartphone bar code decoder 1 if incorrect, 0 if correct jMonkeyEngine Mobile/desktop game engine Fraction of correct decisions normalized to 0.5 ImageJ Raster image manipulation Mean pixel difference Raytracer 3D image renderer Mean pixel difference

  26. Hardware Programming No more approximate functional units. No more automatic approximability analysis. No more voltage overscaling. No more generic unsound In general, no more fine-grained compiler transformations. approximate operations. Quality Domains No more weak statistical guarantees. No more sadness about the imperfection of quality metrics. No more benchmark-oriented research?

  27. Application Description Error metric FFT Mean entry difference SOR Mean entry difference Scientific kernels from the MonteCarlo Normalized difference SciMark2 benchmark SparseMatMult Mean normalized difference LU Mean entry difference ZXing Smartphone bar code decoder 1 if incorrect, 0 if correct jMonkeyEngine Mobile/desktop game engine Fraction of correct decisions normalized to 0.5 ImageJ Raster image manipulation Mean pixel difference Raytracer 3D image renderer Mean pixel difference

  28. ImageNet annual competition 30% Winning Classification Top-1 Error 25% 20% 15% 10% 5% 0% 2010 2011 2012 2013 2014 2015 2016 https://arxiv.org/abs/1409.0575

  29. Real-time graphics https://youtu.be/-gQMulb6T2o

  30. Hardware Programming No more approximate functional units. No more automatic approximability analysis. No more voltage overscaling. No more generic unsound In general, no more fine-grained compiler transformations. approximate operations. Quality Domains No more weak statistical guarantees. No more sadness about the imperfection of quality metrics. No more benchmark-oriented research?

  31. Notes and links: http://www.cs.cornell.edu/~asampson/blog/closedproblems.html

Recommend


More recommend